MySQL将触发器从更新转换为插入



我有一个执行UPDATE的AFTER UPDATE触发器。我一直在尝试将触发器从AFTER UPDATE UPDATE转换为AFTER UPDATE INSERT,以查看性能是否更好。然而,我无法让它接近工作。

我的大多数尝试都涉及到将INSERT INTO与SELECT语句一起使用,但我遇到了未知的列错误和与WHERE子句相关的多个错误。我最近的错误是:"操作数应包含1列">

预期结果:更新表1中的列时,将视图1中的匹配行(按id、会话(插入表3。id1的表3中的INSERT可能看起来像:

id | session | results1 | results2 | results3
1      1          BCE      GOOG      TSLA
1      2          S&P      ARKK      TSLA

当前的UPDATE触发器独立地更新每一列,我希望插入整行,就像上面的例子一样。

小提琴应该有助于它变得更有意义:https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=56868344c95a250b47899c47471576be

也许不是

where view1.id = NEW.id
limit 1;

你想要

where view1.id = NEW.id
AND view1.session = new.session;

最新更新