我在做:
DELETE FROM mytable WHERE id = '6B4AE2C6-7C26-4BB0-AEC2-9590A7A167F3' AND idFK='F3696D77-AC4A-4235-B6CB-C887D62FF860' AND data=3
(Id
为PK uniqueidentifier
,idFK
为FK uniquedientifier
,not null
两者。Data
为int
{{ 1}})
然后我这样做:
not null
这是我收到错误的地方:
无法在对象'dbo.mytable'中插入具有唯一索引'ixmytable'的重复键行。
这是选择:
INSERT INTO mytable (id, idFK, data)
VALUES ('6B4AE2C6-7C26-4BB0-AEC2-9590A7A167F3','F3696D77-AC4A-4235-B6CB-887D62FF860',6)
它显示了什么:
SELECT * FROM mytable WHERE id = '6B4AE2C6-7C26-4BB0-AEC2-9590A7A167F3' AND idFK='F3696D77-AC4A-4235-B6CB-C887D62FF860' AND data=3
为什么我收到此错误?
答案 0 :(得分:1)
如果要从表中删除一行,则仅删除
DELETE FROM mytable WHERE id = '6B4AE2C6-7C26-4BB0-AEC2-9590A7A167F3'
就够了。但是如果你想更新特定值,那么你可以试试
UPDATE mytable SET DATA = 6 WHERE id = '6B4AE2C6-7C26-4BB0-AEC2-9590A7A167F3'
因为id
是唯一标识符,所以它可用于唯一标识每一行。我认为最初在您的数据库中idFK
列的值有一个空格,因此您会收到错误。
//Third Query
idFK=' F3696D77-AC4A-4235-B6CB-C887D62FF860'
^
//But First and second query
idFK='F3696D77-AC4A-4235-B6CB-C887D62FF860'
答案 1 :(得分:0)
尝试在插入之前执行此操作:
SET IDENTITY_INSERT ON