quando inserisco valori in una tabella di mysql il campo 'id' index (autoincrement) sale.
vorrei sapere l'ultimo registrato con una query non troppo complessa, si può?![]()
grazie
quando inserisco valori in una tabella di mysql il campo 'id' index (autoincrement) sale.
vorrei sapere l'ultimo registrato con una query non troppo complessa, si può?![]()
grazie
dopo la query di insert metti
$last_id = mysql_insert_id();
w la topa
Oppure se lo vuoi sapere senza aver fatto un INSERT fai:
(prende automaticamente lo 0 come primo valore del LIMIT)codice:SELECT id FROM tabella ORDER BY id DESC LIMIT 1
Così credo :tongue:
select max(id) as numero_massimo from tabella
select last_insert_id() from nometabella
last_insert_id() è una funzione di mysql :metallica
ok grazie!
ma LAST_INSERT_ID() posso anche metterlo in una INSERT, tipo
INSERT INTO nometabella(a, b) VALUES(1, LAST_INSERT_ID(id));
![]()
![]()
up...![]()
La soluzione che ti ha proposto saibal è la più usata perchè non usi quella?
Vuoi che ti posto un esempio?
Forse ho capito il tuo problem.
Prima fai la insert, poi usi la funzione mysql_insert_id, salvi il valore in una variabile e a quel punto la passi come parametro alla successiva insert.
INSERT INTO nometabella (id, cocco, bello) VALUESOriginariamente inviato da web ces
ok grazie!
ma LAST_INSERT_ID() posso anche metterlo in una INSERT, tipo
INSERT INTO nometabella(a, b) VALUES(1, LAST_INSERT_ID(id));
('','forse','no di certo');
Se e' autoincrement, e deve esserlo visto che cerchi last_insert_id(), nella INSERT non ci vuole nulla.... giusto?
Se l'ultimo id inserito invece ti serve perche' devi fare il formaggio fai:
SELECT LAST_INSERT_ID() Immediatamente dopo la query di inserimento. Perche'? perche' se nel frattempo fai un select o altra operazione che non genera un id autoincrement ti rendera' 0 (zero).
Esistono poi altri modi sia con query che con php ... che gia' ti hanno ampiamente illustrato. Ho solo risposto alla tua specifica domanda.
![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.