update mytable set count=last_insert_id(counter+1) where key='mykey'
Dann
select last_insert_id()
last_insert_id()
kann ein Argument übergeben werden, um es zu "setzen" (und diesen Wert zurückzugeben), und wenn es ohne ein Argument aufgerufen wird, wird der Wert erneut zurückgegeben. Der interne Status, der von last_insert_id()
verwendet wird ist pro Verbindung, was bedeutet, dass der gleiche update
Anweisung, die auf einer anderen Verbindung ausgegeben wird, wirkt sich nicht auf die erste aus.
Referenz:last_insert_id()