Mysql ON DUPLICATE UPDATE 错误 - 多列进行计算

标签 mysql

假设我想更新一个 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/

相关文章:

5.0 和 5.6 上的 MySQL 查询解释效率

php - 如何使这种关系在 MYSQL 或 Laravel 中工作

php - 将 PHP 选择选项框值传递到另一个页面

php - 为什么重新打开与 mysql 的连接很重要?

mysql - 如何从两个不同的表中查找最新记录

php - 如何从 mysql 数据库中获取数据?

mysql - 选择具有 MAX 值的行

php - 如何版本控制,部署和开发php和mySQL

mysql - 带有 NULL 的 SQL CASE 语句

mysql - 如何借助MySql中的外键来选择外键表的属性?