0

我有一个 MySQL 数据库,它通过 C# 应用程序填充,大量上传 100+ 百万条记录的记录。导入这些记录后,对数据使用进一步的分析和其他评分工具。当我选择较小的数据子集时,记录很好,但是,当我使用完整数据集时,一旦达到记录 #16777216,就会发生此错误。在我有唯一的主要设置之前,到处都在创建重复的 ID 记录,但数据都进入了。但是,有了重复记录,进一步的处理会产生不正确的结果。

我的问题很简单,有没有人听说过这个问题,如果有,是怎么回事?这是我的 MySQL 版本中的错误吗?我在 Windows XP 上运行 MySQL 5.0.67。

非常感谢!!

4

2 回答 2

1

只是好奇...

您没有使用 load data infile 来填充表的任何特殊原因?

如果您需要在加载之前在应用程序中处理数据,您仍然可以这样做,但输出到 csv 文件而不是调用 sproc 1 亿次。加载数据文件会更快!

见这里 - http://dev.mysql.com/doc/refman/5.1/en/load-data.html

你真的需要一个 bigint 无符号主键(8 字节)与无符号整数(4 字节),最大值为 4294967295(40 亿)

见这里 - http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html

只是想法...

于 2010-12-05T04:52:05.543 回答
0

你确定MEDIUMINT某处没有涉及吗?show create table在显示此问题的桌子上运行。

于 2010-12-05T03:53:20.080 回答