【发布时间】:2011-09-29 15:27:18
【问题描述】:
我有一个追加查询,它试图将一些记录追加到我的一个表中。但是,我收到一条错误消息,提示“由于密钥违规,没有添加 1200 条记录”。 1200 是我尝试追加的记录总数。我不明白为什么会出现此错误,因为目标表中的所有列都允许重复(即使此附加查询不重复任何信息),并且如果我复制表的结构并将记录附加到那,一切正常。
问题似乎是我将数据附加到已经有现有数据的表中。有人可以就我如何解决这个问题提供一些建议吗?
谢谢
【问题讨论】:
-
你的表没有主键?
-
您的表格似乎有一个自动编号 ID 字段,而您正试图附加到该字段。否则,您如何处理数据在很大程度上取决于您最终想要得到什么。
-
您的表是否与另一个表定义了任何外键关系?
-
自动编号字段确定该字段的默认值。但是,如果没有唯一约束,您可以在自动编号字段中插入重复值。 IOW,执行复制现有自动编号的 DML INSERT 不会触发密钥冲突错误。
-
如果Autonumber字段是PK会触发错误,因为PK有唯一的约束。