Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL:използвайте повторно автоматично увеличение по време на вмъкване

да. Както открихте, стойността на идентификатора все още не е генерирана в тригер BEFORE INSERT. Но не можете да промените стойността си NEW.thread в тригер AFTER INSERT.

Не можете да разчитате на четене на INFORMATION_SCHEMA, защото можете да предизвикате състояние на състезание.

Просто ще трябва да направите INSERT и след това незабавно да изпълните:

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

Ако е главен коментар.

Вижте и предишните ми отговори на подобна тема:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. как автоматично да коригирате ширината на клетката във fpdf с помощта на php и mysql

  2. @ Symbol - решение за рекурсивна SELECT заявка в Mysql?

  3. Как първо да използвате кода на MySql и Entity Framework 4.1

  4. MySql тригер, актуализиране на друга таблица при вмъкване

  5. Създайте база данни при стартиране на docker-compose