2

「ON DUPLICATE KEY UPDATE」ステートメントを使用して、SELECT に基づいて INSERT クエリを実行しようとしています。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

すべてのヘルプは大歓迎です...

4

1 に答える 1

3

そして、助けを求めることにしたとき、いつものように解決策を思いつきます。

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)

単なる「引用符」ではなく、クエリの末尾にある「VALUES(quotes)」部分に注意してください。

于 2013-12-09T22:39:16.063 に答える