是否可以在要应用更新后触发器的同一表上插入? Mysql

问题描述 投票:0回答:1

所以我在这里确实有一个理解上的问题。如果您能帮助消除我的困惑,我将不胜感激。所以我有2个表table_1和table_2,其中两个表的列与'id'pk自动增量和'name'varchar(20)相同。可以说我在table_1上已经有一个after insert触发器,在那里我在table_1中插入的​​所有内容也都在table_2中存储了相同的副本。现在,我想在同一表(table_1)上应用更新触发器,以控制是否有人试图修改table_1中的名称,它应该从table_2中获取名称,然后将正确的名称重新插入table_1中。我希望我能很好地解释它。我将分享我所做的更新后的触发器,该触发器不起作用。如果您有帮助,我会很高兴。谢谢你

delimiter $$ 
CREATE TRIGGER `Practice`.`table_1_after_UPDATE` AFTER UPDATE ON `table_1` FOR EACH ROW
BEGIN
if  old.name != new.name  then
update table_1 
set name = table_2.name
where id = table_2.id;
end if;
END$$
delimiter ;
mysql database triggers database-trigger auto-update
1个回答
0
投票
CREATE TRIGGER `Practice`.`table_1_BEFORE_UPDATE` 
BEFORE UPDATE 
ON `table_1` 
FOR EACH ROW
set NEW.name = OLD.name;
© www.soinside.com 2019 - 2024. All rights reserved.