View Full Version : [sql,php] Query con recupero id
beppegrillo
06-10-2006, 19:32
Nella prima query inserisco delle informzioni, la chiave è id auto_increment.
Dopo ho bisogno di quella chiave per fare una seconda query da inserire in una diversa tabella.
Mi chiedevo quale fosse il metodo migliore eccetto viste, per effettuare la cosa.
Al momento faccio una select con tutti i campi , recupero l'id e proseguo, ma non mi piace molto ed è anche scorretto..
bianchins
06-10-2006, 19:41
Se ho capito bene il tuo problema ti consiglio mysql_insert_id
(http://it.php.net/manual/it/function.mysql-insert-id.php)
Che recupera l'ultimo id inserito proprio per problemi simili al tuo riferiti all'autoincrement :)
beppegrillo
06-10-2006, 20:14
Se ho capito bene il tuo problema ti consiglio mysql_insert_id
(http://it.php.net/manual/it/function.mysql-insert-id.php)
Che recupera l'ultimo id inserito proprio per problemi simili al tuo riferiti all'autoincrement :)
si esatto è quello il problema ;)
Anche se però questa logica di fare non è proprio priva di errori, mi spiego:
Se faccio un insert, poi nel frattempo arriva un'altro insert la funzione mi restituirà un id errato. Insomma problemi di atomicità , mi sa che dovrei usare una transazione per questo :)
si esatto è quello il problema ;)
Anche se però questa logica di fare non è proprio priva di errori, mi spiego:
Se faccio un insert, poi nel frattempo arriva un'altro insert la funzione mi restituirà un id errato. Insomma problemi di atomicità , mi sa che dovrei usare una transazione per questo :)
http://dev.mysql.com/doc/refman/4.1/en/getting-unique-id.html
beppegrillo
06-10-2006, 20:41
http://dev.mysql.com/doc/refman/4.1/en/getting-unique-id.html
ottimo grazie, gli darò uno sguardo ;)
Dopo che hai inserito il record con l'id auto_increment, recuperi questo valore con la query
SELECT @@IDENTITY
che ti ritorna esattamente l'id appena inserito.
Ciao!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.