Mysql 在重复密钥更新时从选择插入

Mysql 在重复密钥更新时从选择插入,mysql,select,insert,on-duplicate-key,Mysql,Select,Insert,On Duplicate Key,我正在尝试运行一个基于SELECT的INSERT查询,并使用“ON DUPLICATE KEY UPDATE”语句。SELECT查询起作用,如果我“手动”输入结果数据,将导致重复的密钥问题。到现在为止,一直都还不错。但是,下面的查询似乎没有像我预期的那样更新“et_report_ymd.quotes”中的值 INSERT IGNORE INTO et_report_ymd SELECT NULL, t.year AS year, t.month AS month,

我正在尝试运行一个基于SELECT的INSERT查询,并使用“ON DUPLICATE KEY UPDATE”语句。SELECT查询起作用,如果我“手动”输入结果数据,将导致重复的密钥问题。到现在为止,一直都还不错。但是,下面的查询似乎没有像我预期的那样更新“et_report_ymd.quotes”中的值

INSERT IGNORE INTO et_report_ymd
SELECT 
    NULL,
    t.year AS year,
    t.month AS month,
    t.day AS day,
    SUM(t.quotes) AS quotes

FROM source_table AS t

GROUP BY t.year, t.month, t.day

ON DUPLICATE KEY UPDATE 
    et_report_ymd.quotes = quotes

欢迎所有帮助…

当您决定寻求帮助时,您会一如既往地提出解决方案

INSERT IGNORE INTO et_report_ymd
SELECT 
    NULL,
    t.year AS year,
    t.month AS month,
    t.day AS day,
    SUM(t.quotes) AS quotes

FROM source_table AS t

GROUP BY t.year, t.month, t.day

ON DUPLICATE KEY UPDATE 
et_report_ymd.quotes = VALUES(quotes)
请注意查询末尾的“值(引号)”部分,而不仅仅是“引号”