SQL Server 插入数据报错:违反 PRIMARY KEY 约束,如何解决?
SQL Server 插入数据报错:违反 PRIMARY KEY 约束,如何解决?
在使用 SQL Server 的 INSERT INTO 语句插入数据时,你可能会遇到类似这样的错误信息:
违反了 PRIMARY KEY 约束 'PK__contact__3213E83F021AB50B'。不能在对象 'dbo.contact' 中插入重复键。重复键值为 (1003)。语句已终止。
错误原因:
这个错误是因为你试图插入的记录中,主键字段 (id) 的值 (1003) 已经存在于表 'dbo.contact' 中,违反了主键约束。主键约束要求表中每个记录的主键值必须唯一。
解决方法:
你可以尝试以下两种方法来解决这个问题:
1. 修改插入语句
将插入语句中的 id 字段的值改为一个不存在于表中的值。例如,将 id 改为 1004:
INSERT INTO dbo.contact(id, phone, email) VALUES (1004, '888', 'abc@qq.com');
2. 使用 UPDATE 语句
如果需要插入的数据已经存在于表中,你可以使用 UPDATE 语句更新相应的记录。例如,更新 id 为 1003 的记录:
UPDATE dbo.contact SET phone='888', email='abc@qq.com' WHERE id=1003;
选择哪种方法取决于你的实际需求。如果需要插入新的记录,则使用第一种方法;如果需要更新已有记录,则使用第二种方法。
原文地址: https://www.cveoy.top/t/topic/fYuf 著作权归作者所有。请勿转载和采集!