sql >> Base de Datos >  >> RDS >> Mysql

MySQL:reutilice el incremento automático durante la inserción

Sí. Como descubrió, el valor de identificación aún no se ha generado en un activador ANTES DE INSERTAR. Pero no puede cambiar su valor NEW.thread en un activador DESPUÉS DE INSERTAR.

No puede confiar en la lectura de INFORMATION_SCHEMA, porque puede provocar una condición de carrera.

Solo tendrá que hacer INSERT y luego ejecutar inmediatamente:

UPDATE comments SET thread=id WHERE id=LAST_INSERT_ID() AND thread IS NULL;

Si es un comentario raíz.

Vea también mis respuestas anteriores sobre el tema similar: