假设我想更新一个 ON DUPLICATE 语句中的两列:
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
,但有两个问题!
我更正了该声明以供将来引用,问题已解决。
最佳答案
我不太清楚你为什么要尝试这样的VALUES
,但我怀疑你的意思是这样的:
ON DUPLICATE KEY UPDATE
0_d = 0_d + 1,
0_r = 0_r + NEW.payout
manual 中还有一些关于如何使用 ON DUPLICATE KEY UPDATE 的好示例。 .
关于Mysql ON DUPLICATE UPDATE 错误 - 多列进行计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9236793/