我正在 Products
表中插入第一个产品。我的回答陈述正确,但我违反了主键约束:
Cannot insert duplicate key in object. The duplicate key value is [...].
记录插入正确,但它还在我插入的记录上方插入了一条“0”记录。不确定发生了什么。
我看不出我的插入语句哪里错了,我是基于来自 sqlservertutorial.net 的插入语句。我不知道出了什么问题。
INSERT INTO products (code, P_Name, p_line, P_Collection, P_Colour,
P_Size, P_Price, active)
VALUES ('17881832980551', 'Austin Record', 'T-Shirt', 'Classic', 'Athletic Heather',
'S', '39.50', 'Y');
我的 Products
表中的 Code
列是主键。
记录已按预期正确插入,但我也插入了额外的“0”记录,以及以下错误消息:
(2 rows affected)
Msg 2627, Level 14, State 1, Line 3
Violation of PRIMARY KEY constraint 'PK__Products__A25C5AA60C388384'. Cannot insert duplicate key in object 'dbo.Products'. The duplicate key value is (17881832980551)
最佳答案
试试这个
IF Not EXISTS(SELECT TOP 1 * FROM products WHERE code = '17881832980551')
BEGIN
INSERT INTO products (code, P_Name, p_line, P_Collection, P_Colour,
P_Size, P_Price, active)
VALUES ('17881832980551', 'Austin Record', 'T-Shirt', 'Classic', 'Athletic Heather',
'S', '39.50', 'Y');
END
ELSE
BEGIN
SELECT 'Record already added'
END
关于sql-server - INSERT 语句运行正确但抛出 'violation of PK contstraint' 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57949774/