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

Преди/след задействане на вмъкване с помощта на поле за автоматично нарастване

Единственият начин, който открих, за да получа новата стойност на увеличението, не е фантастична форма. Предположих, че вмъквате нова стойност, така че се предполага, че е максималният id + 1:

CREATE TRIGGER mytrigger BEFORE INSERT ON yourtable 
FOR EACH ROW BEGIN
SET NEW.thread_id = IF(
ISNULL(NEW.thread_id), 
(SELECT MAX(id) + 1 FROM yourtable), 
NEW.thread_id);
END;

В моя случай работи, ако е NULL, ще получи максималния ID + 1, което ще бъде новото id.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Проверка за валиден ресурс за резултати от MySQL

  2. Как да използвате конфигурации Master/Slave doctrine2 от командите на Symfony2 Console

  3. Ръководство за проектиране на база данни за система за поръчки в ресторант в MySQL

  4. Методът Illuminate\Support\Collection::save не съществува в Laravel

  5. Как работи memcache с MySQL?