Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] [mysql] auto_increment, a wiele tabel ...
vanike
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 24.02.2005
Skąd: Poznań

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


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
rogrog
post
Post #2





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

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


mysql_insert_id" title="Zobacz w manualu PHP" target="_manual


--------------------
Go to the top of the page
+Quote Post
SongoQ
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


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.


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 19:13