我正在MySQL中运行一个查询,我按四列分组并选择了很多内容,包括我正在分组的四个值。但是当我运行查询时出现此错误:
Duplicate entry '92-0-10-7' for key 'group_key'
92,0,10和7是特定行的四个分组列的所有值(实际上,我检查过,并且有63行符合这些参数)。但我不知道这意味着什么,或者如何正确运行我的查询。
我的查询:
Create table table2 as
Select round(x, 0) as x, round(a, 0) as a, round(b, 0) as b, c, d, e, f
from table1
group by round(x, 0), round(a, 0), round(b, 0), c
92适合x,0 a,10 b和7 c。
我在这张桌子上没有索引。
谢谢!
答案 0 :(得分:10)
您的问题似乎是一个MySQL错误。我前几天正在审查我们的生产服务器的日志,并且错误日志已填充此错误。我使用了下面的解决方法,错误消失了。
SET SESSION max_heap_table_size = 536870912;
SET SESSION tmp_table_size = 536870912;
答案 1 :(得分:0)
这通常是磁盘空间问题。特别是临时空间(在linux #include <stdio.h>
int main(void) {
char str1[100], str2[100];
if (scanf("%99s", str1) == 1) {
for (int i = 0; (str2[i] = str1[i]) != '\0'; i++) {
continue;
}
printf("%s\n", str2);
}
return 0;
}
中)。检查数据库服务器磁盘空间。
答案 2 :(得分:0)
你应该把别名放在团购中,如下所示:
Create table table2 as
Select round(x, 0) as x, round(a, 0) as a, round(b, 0) as b, c, d, e, f
from table1
group by x, a, b, c;