2013-12-09 3 views
2

"중복 된 키 업데이트"문과 함께 SELECT를 기반으로 INSERT 쿼리를 실행하려고합니다. SELECT 쿼리가 작동하고 결과를 "수동으로"입력하면 중복 키 문제가 발생합니다. 여태까지는 그런대로 잘됐다. 그러나 아래 쿼리는 "et_report_ymd.quotes"의 값을 예상대로 업데이트하지 않는 것으로 보입니다. 당신이 도움을 요청하기로 결정중복 키 업데이트를 사용하여 SELECT에서 INSERT

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 
모든 도움을 환영합니다

...

답변

2

그리고는, 당신은 항상 같은 해결책을 마련.

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 (따옴표)"부분이 있음에 유의하십시오.