假设我想在一个ON DUPLICATE STATEMENT中更新两列:
INSERT INTO `daily_lead_rollups` (`year`, `month`, `day`, `a_id`, `f_id`, `0_d`,`0_r`) VALUES (NEW.year,NEW.month,NEW.day,NEW.a_id,NEW.f_id, 1,NEW.payout) ON DUPLICATE KEY UPDATE 0_d = 0_d + 1, 0_r =0_r + NEW.payout;
错误:
1235 - 此版本的MySQL尚不支持“多个触发器,并且一个表具有相同的操作时间和事件”
我知道您可以插入多行,但我没有找到任何关于使用计算更新多个列的信息。
即使没有
,MySQL也可以进行一次计算VALUES
,但有两个问题!
我更正了该声明以供将来参考,问题已得到解决。
答案 0 :(得分:2)
我不太确定你为什么要这样VALUES
,但我怀疑你是这个意思:
ON DUPLICATE KEY UPDATE
0_d = 0_d + 1,
0_r = 0_r + NEW.payout
还有一些关于如何在manual中使用ON DUPLICATE KEY UPDATE的好例子。