我有一个索引表来管理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).
答案 0 :(得分:2)
您缺少插入字段。您应该在insert
声明中添加类似的内容:
insert
into product
( ... -- other column names
, your_column_name
)
values
( ... -- other values
, newid()
)
答案 1 :(得分:2)
00000000-0000-0000-0000-000000000000
在uniqueidentifier
中为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()
。