假设我有两张表A和B.
表A有4栏:id,姓名,年龄,状态
*状态可能只有活动和非活动状态
表B有:id,age,changedOn,idOfA
我想在表A中写一个更新触发器 当表A的更新行状态为“无效”时,工作
。我试过这样写一个触发器:
CREATE DEFINER = `root`@`localhost` TRIGGER `before_A_update`
BEFORE UPDATE ON `A` FOR EACH ROW
IF New.status = 'inactive' THEN
UPDATE B
SET age= (NEW.age + 10),
changedOn = NOW()
WHERE idOfA= NEW.id
END IF;
END;
但它显示错误并且未创建触发器。
答案 0 :(得分:0)
2件事,你需要一个开头的分隔符,也缺少begin
子句,它应该是
delimiter //
CREATE DEFINER = `root`@`localhost`
TRIGGER `before_A_update` before UPDATE ON `A`
FOR EACH ROW
BEGIN
IF New.status = 'inactive' THEN
UPDATE B
SET age= (NEW.age + 10),
changedOn = NOW()
WHERE idOfA= NEW.id
END IF;
END;//
delimiter ;