Jak działa lastInsertId()
dla tabel, które nie mają automatycznie zwiększanego pola? A co z tabelami, w których klucz podstawowy składa się z 2 pól?Jak działa lastInsertId() dla tabel bez pól automatycznie zwiększanych?
(pracuję z MySQL)
Jak działa lastInsertId()
dla tabel, które nie mają automatycznie zwiększanego pola? A co z tabelami, w których klucz podstawowy składa się z 2 pól?Jak działa lastInsertId() dla tabel bez pól automatycznie zwiększanych?
(pracuję z MySQL)
W obu przypadkach powyżej zwróci 0
.
Podczas korzystania z kolumny auto_increment zwraca ostatni identyfikator INSERT, nawet jeśli został określony (tzn. Nie zastosowano automatycznego przyrostu).
To znaczy, że powinieneś używać tylko lastInsertId
podczas używania automatycznego przyrostu. Nie ma sensu używać go inaczej, ponieważ i tak musiałbyś znać klucze przed czasem.
Nie sądzę, to robi, ponieważ jest to funkcja specjalnie zaprojektowany, aby być wykorzystywane do pobierania wartości pola AUTO_INCREMENT
.
http://php.net/manual/en/function.mysql-insert-id.php
mysql_insert_id
Retrieves the ID generated for an AUTO_INCREMENT column by the previous query (usually INSERT).
Tego typu rzeczy są dość łatwe do testu - czy próbowałeś go, aby zobaczyć, co się dzieje?