Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dodanie rekordow do dwóch tabel o wspólnym kluczu
Forum PHP.pl > Forum > Bazy danych
klapaucius
Mam przykładowo dwie tabele o następujących polach:

klienci:
-id_klienta
-login

info_o_kliencie:
-id_klienta (klucz obcy, tabela wyżej)
-jakies_tam_informacje

Jak więc teraz z poziomu PHP dodać nowego klienta, aby powstały dwa rekordy w obydwuch bazach (oczywiscie o tym samym polu id_klienta)?

  1. $zapytanie = mysql_query("INSERT INTO klienci VALUES (null, "Klient123");

Takie rozwiązanie jak powyzej doda rekord do tabeli klienci, co jednak z tabelą info_o_kliencie? Co prawda można by teraz dodać do bazy zapytanie:
  1. $zapytanie2 = mysql_query("SELECT id_klienta FROM klienci WHERE login = '".Klient123."'");
  2. $result = mysq_fetch_row($zapytanie2);

a potem
  1. $zapytanie3 = mysql_query("INSERT INTO info_o_kliencie VALUES ($result[0], "Jakies tam info");

ale chyba istnieje jakieś bardziej optymalne rozwiązanie, prawda?
nospor
Nie w dwóch bazach a w dwóch tabelach. Rozróżniaj baze od tabeli.

Co do problemu:
http://www.php.net/manual/pl/function.mysql-insert-id.php
rozwiązuje twój problem
klapaucius
Cytat(nospor @ 1.10.2012, 17:53:59 ) *
Nie w dwóch bazach a w dwóch tabelach. Rozróżniaj baze od tabeli.

No faktycznie pomieszałem. Pisałem w pośpiechu.

W każdym razie dziękuję bardzo za pomocną wskazówkę! Pozdrawiam serdecznie!
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.