我的问题是我有一个插入更新重复键上的查询,它就像下面那样:
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.
答案 0 :(得分:1)
试试这个:
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
语句中的表达式。