Salve a tutti.
Qualcuno sa indicarmi un modo per ottenere il primo id libero in una tabella dove ho il campo "id" impostato in auto increment?
In pratica sto per inserire un dato e voglio sapere che id avrà.
Grazie mille anticipatamente.
Salve a tutti.
Qualcuno sa indicarmi un modo per ottenere il primo id libero in una tabella dove ho il campo "id" impostato in auto increment?
In pratica sto per inserire un dato e voglio sapere che id avrà.
Grazie mille anticipatamente.
E' importante saperlo prima?
Di solito su usa mysql_insert_id() subito dopo la insert
Ma per un semplice fatto: fin quando la query non è eseguita non potrai mai essere certo quale sarà l'id, se tra il momento in cui estrai "il prossimo id" e il momento in cui effettui la INSERT, qualche altro utente effettua la sua INSERT ti troverai con un dato errato
Metti due utenti che si connettono quasi contemporaneamente e il prossimo id libero è 10
Utente 1 prende il prossimo id = 10
Utente 2 prende il prossimo id = 10
Utente 1 effettua la insert con id = 10
Utente 2 effettua la insert con id = 11
In questo caso l'utente 2 si trova con un dato sbagliato, solo perchè casualmente le sue operazioni si sono sovrapposte a quelle dell'utente precedente
se il tuo campo ID e` auto increment e al momento l'ultimo ID e`48 per forza sara 49!!!!
per sapere l'ultimo i inserito dopo che hai fatto il tuo INSERT ed eseguito la query fai:
$ultimo = mysql_insert_id();
¿Hasta la pasta?
Perfetto, grazie mille!
show table status like 'nome_tabella'Originariamente inviato da DanBadJar
Salve a tutti.
Qualcuno sa indicarmi un modo per ottenere il primo id libero in una tabella dove ho il campo "id" impostato in auto increment?
In pratica sto per inserire un dato e voglio sapere che id avrà.
Grazie mille anticipatamente.
il numero del prossimo id che verrà inserito lo trovi nel campo 'Auto_increment'
Attento che hai bisogno di un lock in scrittura prima.