我的问题是我有一个插入更新重复键上的查询,如下所示:
INSERT INTO TABLE
(COL1, COL2, COL3 , ETC...)
SELECT
COLA1, COLA2, COUNT(1) , ETC...
FROM TABLE2
WHERE 'CONDITION'
GROUP BY COL1, COL2, COL3
ON DUPLICATE KEY UPDATE COL1=VALUES(COLA1), COL3=COUNT(1)
此查询返回错误:一般错误:1111 组函数 SQL 使用无效
COL1, COD2, COL3 ARE COMPLEX KEY.
最佳答案
试试这个:
INSERT INTO TABLE(COL1, COL2, COL3, ETC...)
SELECT COLA1, COLA2, COUNT(1), ETC...
FROM TABLE2
WHERE 'CONDITION'
GROUP BY COL1, COL2, COL3
ON DUPLICATE KEY UPDATE COL1 = VALUES(COL1), COL3 = VALUES(COL3);
也就是说,引用 values1
语句中的名称,而不是 select
语句中的表达式。
关于mysql - 关于重复 key 更新 - 需要帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21285984/