![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 3.02.2006 Ostrzeżenie: (0%) ![]() ![]() |
witam
mam tabele powiedzmy test ________ -id (int, autoincrement) -nazwa (text) i teraz chce przez php wpisać cos do niej INSERT INTO `test` ( `id` , `nazwa` ) VALUES ('', 'jakis tekst') i dodaje wpis o takim id jaki miał wolny w kolejności i jakbym teraz chciał dodac do innej tabeli INSERT INTO `test1` ( `id_2` , `nazwa2` ) VALUES ('".$id."', 'jakis tekst2') i tutaj chciałbym dodac wiersz ale o takim id jaki dodał sie w autoincrement w poprzednim wpisie wiem ze moge zrobić insert pozniej select ..ORDER BY id DESC LIMIT 1 wyciągnąc id i wpisać do drugiego inserta ale jeśli w miedzyczasie ktos inny będzie robił wpis to już ten select może pobrać inne id jest jakies wyjście z tego? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
Możesz to uzyskać na dwa sposoby:
- na poziomie bazy danych wykonując zapytanie
lub - na poziomie aplikacji - jeżeli korzystasz z funkcji mysql_* to funkcją mysql_insert_id() Jeżeli korzystasz z warstwy abstrakcji dostępu do bazy danych - szukaj w dokumentacji konkretnego systemu. EDIT: ad 1) oczywiście:
Ten post edytował mhs 3.02.2006, 20:57:53 |
|
|
![]()
Post
#4
|
|
![]() 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%) ![]() ![]() |
Juz nie pamietam co to zwraca ostatnie ID jakie jest w incremencie czy ostatnie id sesji. Bo jesli to 1 to dalej to nie rozwiazuje Twojego problemu i zostaje Ci wywolanie funkcji php. Ale najlepiej sprawdzic w dokumentacji. -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
Z testów które dość dawno robiłem (równocześnie uruchomione dwie konsole) oraz na podstawie informacji z dokumentacji SELECT LAST_INSERT_ID() zwraca ostatni wygenerowany numer ID w obrębie danej sesji użytkownika.
|
|
|
![]()
Post
#6
|
|
![]() 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%) ![]() ![]() |
Czyli spawa prosta
![]() ![]() -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 3.02.2006 Ostrzeżenie: (0%) ![]() ![]() |
ok dzieki za pomoc mysql_insert_id wydaje sie fajnym rozwiazaniem. Nie znałem go wcześniej.
Pozdrawiam |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.08.2025 - 23:39 |