Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] [mysql] auto_increment, a wiele tabel ...
Forum PHP.pl > Forum > PHP
vanike
Hej,

Mam problem (dokładniej niewiedzę) w dziedzinie auto_incrementa.
Chcę mieć dwie tabele w mysql:
tab1: id1 (int, primary key, auto_increment), name1 (char)
tab2: id2 (int, primary key, auto_increment), id1 (int), name2 (char)
I tu nie ma problemu. Teraz dalej, chcę dodawać coś takiego:

mysql_db_query("insert into tab1 (id1, name1) values ('', 'Ala')");
mysql_db_query("insert into tab2 (id2, id1, name2) values ('', XXX, 'Kowalska')");

Pytanie jest takie: skąd mam wiedzieć jakie id1 zostało "nadane" przez mysql dla właśnie wstawionego rekordu ('Ala')? Domyślam się, że można użyć pomiędzy insertami select max(id1) from tab1, ale nie ma pewności, że ktoś nie zdąży wstawić nic w międzyczasie - chyba że można wymusić "nietykalność" tab1 aż do momentu wykonania całej "puli" insertów.


Pozdrowionka,
vanike
SongoQ
W innych bazach danych "własciwych" istnieje cos takiego jak sekwencja, wtedy sobie zwracasz numer id i nie ma mozliwoscie ze inne zapytanie uzyje tego wlasnie id.
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.