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

Před / po vložení spouště pomocí pole automatického přírůstku

Jediný způsob, jak jsem našel, jak získat novou hodnotu přírůstku, není vymyšlený formulář. Předpokládal jsem, že vkládáte novou hodnotu, takže se předpokládá, že to bude maximální 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;

V mém případě to fungovalo, pokud je NULL, získá maximální ID + 1, což bude nové ID.



  1. Zlepšení výkonu uložené procedury PostgreSQL 9.6

  2. ActiveRecord where_in() s polem

  3. Určete, zda příkaz sql začíná slovem SELECT

  4. Nejlepší způsob, jak implementovat auditní záznam v SQL Server?