【发布时间】:2011-05-20 10:01:55
【问题描述】:
我有一个 MySQL 数据库,它通过 C# 应用程序填充,以 100+ 百万条记录的规模大量上传记录。导入这些记录后,对数据使用进一步的分析和其他评分工具。当我选择较小的数据子集时,记录很好,但是,当我使用完整数据集时,一旦达到记录 #16777216,就会发生此错误。在我进行唯一的主要设置之前,到处都在创建重复的 ID 记录,但数据都进入了。但是,有了重复记录,进一步的处理会产生不正确的结果。
我的问题很简单,有没有人听说过这个问题,如果有,是怎么回事?这是我的 MySQL 版本中的错误吗?我在 Windows XP 上运行 MySQL 5.0.67。
非常感谢!!
【问题讨论】:
-
16777216 是 24 位整数中值的最大数量。您在 PRIMARY 和 UNIQUE 列中使用的值的大小是多少?
-
主键字段是 BIGINT 主键,非空无符号自增。
-
我发现非常巧合的是,16777216 会是记录#当这是一个非常具体的数据类型相关时会一直失败#但我在任何地方都找不到这个问题的证据。
-
另外,当数据类型只是 INTEGER 但也允许超过 16777216 条记录时,我最初看到了这个问题。请注意,在将其设置为主键之前,记录进入那里,只是在超过记录 ID 16777216 后随机出现重复。这听起来完全像一个错误,但我找不到任何证据出现在任何地方的错误。如果它是某种类型的已知错误会有所帮助。
标签: sql mysql mysql-error-1062