update mytable set count=last_insert_id(counter+1) where key='mykey'
Entonces
select last_insert_id()
last_insert_id()
se le puede pasar un argumento para 'establecerlo' (y devolver ese valor), y llamarlo sin un argumento devolverá el valor nuevamente. El estado interno utilizado por last_insert_id()
es por conexión, lo que significa que la misma update
declaración emitida en otra conexión no afectará a la primera.
Referencia:last_insert_id()