Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql]wprowadzanie danych
Forum PHP.pl > Forum > Bazy danych > MySQL
usb2.0
Wtiam,problem pewnie okaże się smieszny, znaczy chcialbym zeby tak bylo, otóż przykladowo mam 2 tabele
  1. CREATE TABLE osoba(
  2.  
  3. id integer NOT NULL AUTO_INCREMENT PRIMARY KEY,
  4.  
  5. imie varchar(10)
  6. );
  1. CREATE TABLE tabela(
  2.  
  3. id integer NOT NULL,
  4.  
  5. nazwisko varchar(25) PRIMARY KEY,
  6.  
  7. FOREIGN KEY(id) REFERENCES osoba(id)
  8. );


chodzi o to że skoro mam klucz obcy to zdaje sie że powinien miec takie same wartosci jak glowny, czy przy insert into powinienem sam wprowadzac jego wartosc czy jakos to sie dzieje automatycznie? -.- myslalem ze skoro jest auto_inc to zarowno PK jak i FK bedzie sie sam automatycznie zwiekszal a tylko PK się zwiększa.

Uff jakoś troche nie po polsku chyba napisałem ale cięzko mi to opisać:P z góry dziekuje

Mchl
Niestety MySQL nie potrafi czytać Ci w myślach.
Musisz użyć funkcji MySQL LAST_INSERT_ID() (w php mysql_insert_id), żeby uzyskać ID z jakim wstawiłeś ostatni wiersz do tabeli osoba, a potem wstawić tą wartość do tabeli tabela.

Inna sprawa, że tabela powinna wyglądać tak:
  1. CREATE TABLE tabela(
  2. id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
  3. osoba_id INTEGER,
  4.  
  5. nazwisko varchar(25) PRIMARY KEY,
  6.  
  7. FOREIGN KEY(osoba_id) REFERENCES osoba(id)
  8. );

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.