我收到此錯誤PRIMARY KEY約束 'X_dbo.XYZ' 的的SQL Server插入錯誤的原因的關鍵
衝突。不能在對象中插入重複鍵...
我確定它不是由重複鍵造成的!
我知道當你添加一行(在我的情況下是一個int)時,SQL Server正在使用「機制」來插入默認鍵。
當我刪除表中的所有行,然後嘗試通過爲id指定一個先前在該表中的值來添加行時,我得到此錯誤。
我相信這是由這個「機制」,我不完全理解
例如,我有表XYZ行
Id Name
1 "some name"
我刪除這行,然後我嘗試添加引起的一個新的行作爲Id
INSERT ....
VALUES (1, 'some other name for new row')
我得到這個錯誤。
沒有在insert中指定id不是我的選擇,我需要一個解決方法或這個錯誤。
謝謝!
修訂
我表使用實體框架和代碼優先方法(C#)
[Table("XYZ")]
public class XYZ: InheritDb
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long ID { get; set; }
[Required]
public string Key { get; set; }
[Required]
public string Value { get; set; }
public string Description { get; set; }
//....
}
和插入腳本像
SET IDENTITY_INSERT [dbo].[XYZ] ON
GO
INSERT [dbo].[XYZ] ([ID], [Key], [Value], [Description], ...)
VALUES (1, N'PaymentMode', N'Test', N'PaymentMode', ...)
向我們展示create table語句和insert語句。 – jarlh
和任何觸發器 – MatBailie
是否有一些觸發器有效?你確定這不是來自另一張桌子的com嗎? – Shnugo