Php 更新历史记录表时Mysql触发器不工作
我想使用下面的触发器更新历史记录表Php 更新历史记录表时Mysql触发器不工作,php,mysql,triggers,Php,Mysql,Triggers,我想使用下面的触发器更新历史记录表 CREATE TRIGGER `trig_Update_transaction` AFTER UPDATE ON `transaction` FOR EACH ROW BEGIN UPDATE transaction_history SET OLD.deliverystatus=NEW.deliverystatus WHERE OLD.alertID=NEW.alertID; EN
CREATE
TRIGGER `trig_Update_transaction` AFTER UPDATE ON `transaction`
FOR EACH ROW BEGIN
UPDATE transaction_history SET OLD.deliverystatus=NEW.deliverystatus
WHERE OLD.alertID=NEW.alertID;
END$$
这里有什么问题?这些行中的问题:
UPDATE transaction_history SET OLD.deliverystatus = NEW.deliverystatus
WHERE OLD.alertID=NEW.alertID;
来自MySQL文档的:在更新触发器中,您可以使用OLD.col_name来引用更新前的行的列,使用NEW.col_name来引用更新后的行的列 名为with OLD的列是只读的。您可以引用它(如果您有选择权限),但不能修改它 有关详细信息,请参阅
我也想从社区中了解这一点。删除触发器定义中的
旧别名。新旧别名指的是subject(受原始查询影响的别名)表
updatetransaction\u历史记录集deliverystatus=NEW.deliverystatus,其中alertID=NEW.alertID代码>您是否无法创建此触发器,或者您已创建但未更新?我无法更新表,触发器已创建。我认为您已以粗体显示“历史”,但您希望更新事务历史表。希望这不是问题所在。对吧?不,不,这不是问题