![]() |
![]() ![]() |
![]() |
![]()
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 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 602 Pomógł: 1 Dołączył: 3.04.2004 Skąd: Trójmiasto (Gdańsk) Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
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.
-------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 13:39 |