Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql]wprowadzanie danych
usb2.0
post
Post #1





Grupa: Zarejestrowani
Postów: 341
Pomógł: 25
Dołączył: 28.09.2008
Skąd: Lublin

Ostrzeżenie: (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

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
Mchl
post
Post #2





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

Ostrzeżenie: (0%)
-----


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. );

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.09.2025 - 14:14