键'group_key'的重复输入

时间:2014-11-04 00:26:57

标签: mysql key

我正在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。

我在这张桌子上没有索引。

谢谢!

3 个答案:

答案 0 :(得分:10)

您的问题似乎是一个MySQL错误。我前几天正在审查我们的生产服务器的日志,并且错误日志已填充此错误。我使用了下面的解决方法,错误消失了。

  

SET SESSION max_heap_table_size = 536870912;

     

SET SESSION tmp_table_size = 536870912;

来源:http://bugs.mysql.com/bug.php?id=58081

答案 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;