ASP.NET:无法在对象中插入重复的键行

时间:2014-03-04 08:00:07

标签: asp.net sql-server

我有一个索引表来管理ASP.NET MVC上的数据库。当我创建新产品时,它会用完这个错误。这是什么意思以及如何解决它?

Cannot insert duplicate key row in object 'Production.Product' with unique index 'AK_Product_rowguid'. The duplicate key value is (00000000-0000-0000-0000-000000000000).

2 个答案:

答案 0 :(得分:2)

您缺少插入字段。您应该在insert声明中添加类似的内容:

insert
into product
( ... -- other column names
, your_column_name
)
values
( ... -- other values
, newid()
)

答案 1 :(得分:2)

00000000-0000-0000-0000-000000000000uniqueidentifier中为sql,在ASP中为system.Guid。它尚未初始化,所以我认为你是从ASP传输这个值。如果您的查询使用参数,请尝试使用system.guid.newguid()system.guid.newguid.tostring为查询添加新参数。

如果您要创建要执行的t-sql脚本(例如:"insert into production.product values('"+TextBox1.Text+"', newid())""insert into production.product values('"+TextBox1.Text+"', '"+system.guid.newguid.tostring()+"')"

您可以为product表的uniqueidentifier列定义默认值newid()