sql >> Database teknologi >  >> RDS >> Mysql

MySQL:genbrug automatisk stigning under indsættelse

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:



  1. Er en visning hurtigere end en simpel forespørgsel?

  2. pgDash Diagnostics Alternatives - PostgreSQL Query Management med ClusterControl

  3. JPA + Hibernate:Sådan defineres en begrænsning med ON SLET CASCADE

  4. Hvordan forudindlæser man tabeller i INNODB-bufferpuljen med MySQL?