Mysql
 sql >> Base de données >  >> RDS >> Mysql

Le déclencheur MySQL pour définir la colonne sur max + 1 ne fonctionne pas

C'est parce que mysql voit ; (le délimiteur) et interrompt l'exécution de CREATE TRIGGER

Essayez de passer à :

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 ;