Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Antes/depois do gatilho de inserção usando o campo de incremento automático


A única maneira que encontrei para obter o novo valor de incremento não é uma forma sofisticada. Eu assumi que você está inserindo um novo valor, então é suposto ser o id máximo + 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;

Funcionou para o meu caso, se for NULL, obterá o ID máximo + 1, que será o novo id.