Originariamente inviato da Donovant
Lo so, infatti mi servirebbe fare una query del genere

Codice PHP:
"select (count(*)+1) num from tbl1"
//il risultato inserirlo in 
"insert into tbl1 (id) values (risultato_sopra".stringa.")" 
Il tutto deve essere svolto in modo atomico.

codice:
insert into tbl1(id) select count(*)+1 as num from tbl1 where tuocampo = ?
o come fa mysql a fare insert into select. Una esecuzione, due query.

PS: l'atomicità non è assicurata neanche qui, nel senso che come penso tu la intenda, hai comunque problemi di concorrenza perché due insert nello stesso istante potrebbero darti lo stesso id e quindi errore. E cmq non si danno gli id così perchè non è detto che count(*)+1 ti dia un id libero (basta cancellare un id < del max(id) e al successivo inserimento avresti due id uguali)