sql >> Base de Datos >  >> RDS >> Mysql

Usando liquibase para crear disparadores en mysql

Su disparador se puede convertir fácilmente en un formulario de declaración única:

CREATE TRIGGER myTrigger
BEFORE INSERT 
ON myTable 
FOR EACH ROW
SET NEW.my_timestamp = COALESCE(NEW.my_timestamp, NOW());

que no necesita en la reasignación del delimitador.

Si se inserta NULL en esta columna porque esta columna no aparece en la lista de columnas de la consulta INSERT, entonces simplemente puede usar DEFAULT CURRENT_TIMESTAMP en la definición de la columna y no se necesita un disparador. Pero si el valor NULL se establece explícitamente, este método no es aplicable.