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:
- > Concatenar una cadena y un ID de clave principal al insertar
- Dos columnas de autoincremento o autoincremento y el mismo valor en otra columna