sql >> Databáze >  >> RDS >> Mysql

MySQL:opětovné použití automatického zvýšení během vkládání

Ano. Jak jste zjistili, hodnota id ještě nebyla vygenerována ve spouštěči BEFORE INSERT. Hodnotu NEW.thread však nemůžete změnit ve spouštěči AFTER INSERT.

Nemůžete se spolehnout na to, že si přečtete INFORMAČNÍ SCHÉMA, protože můžete způsobit spor.

Stačí provést INSERT a poté okamžitě provést:

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

Pokud se jedná o kořenový komentář.

Viz také mé minulé odpovědi na podobné téma:



  1. Jak obnovit heslo správce WordPress pomocí příkazového řádku MySQL

  2. Oracle:SQL dotaz k nalezení všech spouštěčů patřících do tabulek?

  3. Automatické zvýšení ID se sequelizací v MySQL

  4. Zábava s novými funkcemi Postgres od Djanga