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

Desencadenador de MySQL para establecer la columna al máximo + 1 no funciona

Eso es porque mysql ve ; (el delimitador) e interrumpe la ejecución de CREATE TRIGGER

Intenta cambiar a:

delimiter |


CREATE TRIGGER ins_saved_listing BEFORE INSERT ON saved_listing
FOR EACH ROW BEGIN
    SET NEW.create_dt = NOW();
    SET NEW.rank = (SELECT MAX(rank) + 1 FROM saved_listing WHERE user_id = NEW.user_id);
END;

|

delimiter ;