Ja. Som du opdagede, er id-værdien ikke blevet genereret endnu i en BEFORE INSERT-udløser. Men du kan ikke ændre din NEW.thread værdi i en AFTER INSERT trigger.
Du kan ikke stole på at læse INFORMATION_SCHEMA, fordi du kan forårsage en racetilstand.
Du skal bare gøre INSERT og derefter straks udføre:
UPDATE comments SET thread=id WHERE id=LAST_INSERT_ID() AND thread IS NULL;
Hvis det er en rodkommentar.
Se også mine tidligere svar om lignende emne:
- Sammenkædning af en streng og primærnøgle-id under indsættelse
- To autoincrements-kolonner eller autoincrement og samme værdi i anden kolonne