Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Wartość auto_increment
Forum PHP.pl > Forum > Przedszkole
Dapi
Witam.

  1. query("INSERT INTO `tabela` (`id`,`id2`,`wartosc`)VALUES(NULL , NULL, 'abc'),(NULL , NULL, 'abc');


Mam taki kodzik. Id ma nadane auto_increment, także uzupełnia się samo.
Teraz chciałbym, żeby id przybierało wartość pierwszego dodanego w tym zapytaniu rekordu.
Google chyba niewiele wie na ten temat, bo nic konkretnego nie znalazłem. Jak to zrobić jednym zapytaniem?

Pozdrawiam
kadlub
chodzi ci o
http://algorytmy.pl/doc/php/function.mysql-insert-id.php
crocodillo
Nic dziwnego, że google nie pomaga, jak ciężko Cię zrozumieć.

Czy chodzi Ci o ustalenie ID przy zapisie? Czy o odczyt ID po zapisie do bazy?

Jeśli chcesz ustalić konkretne ID to:

  1. INSERT INTO `tabela` (`id`,`id2`,`wartosc`)VALUES(2000 , NULL, 'abc'),(NULL , NULL, 'abc');

W tym przypadku pierwszy zapisany wiersz będzie miał id = 2000, następny 2000+1. (Jeśli podane ID nie jest mniejsze niż aktualna wartość AUTO_INCREMENT)


Jeśli natomiast chcesz pobrać wartość ID pierwszego wstawionego wiersza, to przed zapytaniem INSERT możesz sprawdzić wartość AUTO_INCREMENT:

  1. $s=mysql_query("SHOW TABLE STATUS WHERE `Name` LIKE 'tabela'");
  2.  
  3.  
  4. $next_id = $t['Auto_increment'];
Dapi
Cytat(crocodillo @ 7.03.2012, 21:42:17 ) *
Jeśli natomiast chcesz pobrać wartość ID pierwszego wstawionego wiersza, to przed zapytaniem INSERT możesz sprawdzić wartość AUTO_INCREMENT:

  1. $s=mysql_query("SHOW TABLE STATUS WHERE `Name` LIKE 'tabela'");
  2.  
  3.  
  4. $next_id = $t['Auto_increment'];


O to chodzi, ale tym sposobem muszę wykonać 2 zapytania (pobieranie auto_increment i dodawanie rekordów),
a jeśli się da, to chciałbym 'upchnąć' to w jedno zapytanie wink.gif
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.