日期:2014-05-18  浏览次数:21959 次

資料值違反了資料行的完整性條件約束是什麽原因呢
Index #0 Source: .Net SqlClient Data Provider Message: 連結伺服器 "FASDB" 的 OLE DB 提供者 "SQLNCLI10" 無法 INSERT INTO 資料表 "[FASDB].[db_9001].[dbo].[std_wip]",因為資料行 "num"。資料值違反了資料行的完整性條件約束。 Number: 7344 State: 1
這個不知道是什麽錯呢?
資料表結構如下:
USE [DB_9001]
GO

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[std_wip]') AND type in (N'U'))
DROP TABLE [dbo].[std_wip]
GO

CREATE TABLE [dbo].[std_wip](
  num bigint IDENTITY(1,1) NOT NULL ,
  chjernoi varchar(48) ,
[yyyymm] [char](6) NOT NULL ,--關帳月份
[wono] [char](10) NOT NULL ,--製令編號
[partno] [char](20) NOT NULL ,--領料編號
[wtamt_wip][decimal](24, 10) ,--在製金額
remark varchar(96) --備註說明
)
CREATE NONCLUSTERED INDEX [in_std_wip1] ON [dbo].[std_wip] 
(
num 
)
CREATE NONCLUSTERED INDEX [in_std_wip2] ON [dbo].[std_wip] 
(
chjernoi 
)
CREATE NONCLUSTERED INDEX [in_std_wip3] ON [dbo].[std_wip] 
(
[yyyymm] ASC,
[wono] ASC,
[partno] ASC
)
謝謝高手解答哦,先謝謝了

------解决方案--------------------
自增列用聚集索引
------解决方案--------------------
插入的数据不对啊。你插入数据得根据约束来,不能违反约束。比如外键里的数据必须先在主键中存在,唯一约束的数据必须唯一
------解决方案--------------------
代码执行一切正常啊.
------解决方案--------------------
你insert的时候,是不是num字段也给了值了?num字段是自增,数据库会自动添加正确的值,不需要你在语句里赋值。