我有一个通过C#应用程序填充的MySQL数据库,大量上传超过1亿条记录的记录。导入这些记录后,将对数据使用进一步的分析和其他评分工具。当我选择较小的数据子集时,记录会很好,但是,当我使用完整数据集时,一旦达到记录#16777216,就会发生此错误。在我有独特的主要设置之前,在这里和那里创建了重复的ID记录,但数据全部进入。但是,如果存在dup记录,则进一步处理会产生不正确的结果。
我的问题很简单,以前有人听说过这个问题,如果有的话,发生了什么事?这是我的MySQL版本中的错误吗?我在Windows XP上运行MySQL 5.0.67。
非常感谢!!
答案 0 :(得分:0)
你确定某个地方没有涉及MEDIUMINT
吗?在显示此问题的表格上运行show create table
。
答案 1 :(得分:0)
您没有使用加载数据infile来填充表格的任何特殊原因?
如果您需要在加载前处理应用程序中的数据,您仍然可以这样做但输出到csv文件而不是调用1亿次sproc。加载数据infile会快得多!!
见这里 - 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
只是想一想......