我在users表中有一个日期类型列valid_upto,它是一个引用订阅表中valid_upto列的外键。我需要users.valid_upto来更新对subscription.valid_upto进行更改,其中相应的用户ID值匹配。当前,在订阅表中更改单行时,触发器会更新users表中的所有行。它基本上忽略了WHERE子句。
DROP TRIGGER IF EXISTS `valid_date` ;
CREATE DEFINER = `root`@`localhost` TRIGGER `valid_date` AFTER UPDATE ON `users`
FOR EACH ROW
BEGIN
UPDATE valid_upto SET users.valid_upto = subscription.valid_upto WHERE users.id = subscription.user_id;
END ;