我正在尝试实现以下触发器,但我收到MySQL语法错误。我的想法是,每次更新表后,如果“禁止”字段已更改为1,我想将更新的“有效”字段设置为0.还有下面的逻辑是否正确?
Create Trigger `customers` Before Update on `customers` for each row BEGIN
set new.valid = 0 WHERE new.banned = 1;
END;
答案 0 :(得分:2)
是的,触发器应该是
delimiter //
Create Trigger `customers_update`
Before Update on `customers`
for each row
BEGIN
IF new.banned = 1
THEN set new.valid = 0 ;
END IF ;
END;//
如您所见,我在触发器所需的触发器中使用了delimiter
。这里有一个很好的解释What does DELIMITER // do in a Trigger?