在一张明细表中添加记录,系统一直提示添加的记录重复。仔细检查内容,并无重复。
后来在源表中添加记录才发现了问题的所在。
表中的主键是一个自增数字类型的字段。对表进行了如下的操作就会出现记录重复的错误。
-
备份表的某些记录到新表中
-
从源表中删除这些记录
-
再从备份表中将这些记录插入源表中
-
再新添加记录的时候,自增字段不是从记录的最后一条记录开始增加,而是从刚插入的记录最后一条记录开始计数。这样就有可能与原来存在的另外的记录的主键重复,发生冲突。
修正方案:
-
对于自增类型的字段,计数方式有2种:①递增②随机
-
使用随机类型的增加方式会避免上述错误。