Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL]Wartość auto_increment
Dapi
post
Post #1





Grupa: Zarejestrowani
Postów: 186
Pomógł: 13
Dołączył: 7.08.2009

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


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


--------------------
www.dapi.net.pl - Wiele technologii, jedna pasja.
Go to the top of the page
+Quote Post
kadlub
post
Post #2





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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


chodzi ci o
http://algorytmy.pl/doc/php/function.mysql-insert-id.php
Go to the top of the page
+Quote Post
crocodillo
post
Post #3





Grupa: Zarejestrowani
Postów: 215
Pomógł: 44
Dołączył: 31.07.2011
Skąd: wrocław

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


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'];
Go to the top of the page
+Quote Post
Dapi
post
Post #4





Grupa: Zarejestrowani
Postów: 186
Pomógł: 13
Dołączył: 7.08.2009

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


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


--------------------
www.dapi.net.pl - Wiele technologii, jedna pasja.
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: 22.08.2025 - 03:44