Mysql ON DUPLICATE UPDATE错误 - 带有计算的多个列

时间:2012-02-11 00:49:16

标签: mysql

假设我想在一个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

,但有两个问题!

我更正了该声明以供将来参考,问题已得到解决。

1 个答案:

答案 0 :(得分:2)

我不太确定你为什么要这样VALUES,但我怀疑你是这个意思:

ON DUPLICATE KEY UPDATE 
    0_d = 0_d + 1,
    0_r = 0_r + NEW.payout

还有一些关于如何在manual中使用ON DUPLICATE KEY UPDATE的好例子。