insert into Mat_FetchDetail(matcode,title,spec,qua_rule
,reserve_dtl_str1,PlantoTakeNum,UnitName,ActualGetNum,canUseNum,canUseActNum
,ConversionUnit,fetchMethod,Re) select c.matcode,c.title,c.spec,c.qua_rule,c.reserve_dtl_str1,c.asknum,c.UnitName,'',
'','',c.ConversionUnit,'',c.Re
 from (select b.ask_sid from Mat_Fetch a inner join mat_purchaseask b 
on a.ask_code=b.ask_code where a.ask_code='9CTDS201101001')e inner join Mat_PurchaseAskDetail c
on e.ask_sid=c.ask_sid消息 515,级别 16,状态 2,第 1 行
不能将值 NULL 插入列 'FetchDetail_Sid',表 'powerOn0117.dbo.Mat_FetchDetail';列不允许有空值。INSERT 失败。
语句已终止。

解决方案 »

  1.   

    你在FetchDetail_Sid字段有约束条件,不为空的约束条件,把约束去了。
      

  2.   

    呵呵,设置字段允许NULL值。好像你的SQL中没有这一列哦:FetchDetail_Sid
    ALTER TABLE table_name
    ALTER COLUMN FetchDetail_Sid INT NULL
      

  3.   

    Mat_FetchDetail表FetchDetail_Sid不能为空。有约束。
      

  4.   

    或者把这一列FetchDetail_Sid设置为自增列: 表->Design->(Is Identity)->Yes
      

  5.   

    插入的表中(Mat_FetchDetail),没有列出'FetchDetail_Sid列,在检索的数据集对应出FetchDetail_Sid列,做isnull判断,该字段为数值类型时,检索结果为null时赋0值;该字段为字符类型时,检索结果为null时赋‘’值。
    如下修正(字段为字符类型为例)
        insert into Mat_FetchDetail(matcode,title,spec,qua_rule
    ,reserve_dtl_str1,PlantoTakeNum,UnitName,ActualGetNum,canUseNum,canUseActNum
    ,ConversionUnit,fetchMethod,Re,FetchDetail_Sid)  
    select c.matcode,c.title,c.spec,c.qua_rule,c.reserve_dtl_str1,c.asknum,c.UnitName,'',
    '','',c.ConversionUnit,'',c.Re,isnull(FetchDetail_Sid,'') 
     from (select b.ask_sid from Mat_Fetch a inner join mat_purchaseask b  
    on a.ask_code=b.ask_code where a.ask_code='9CTDS201101001')e inner join Mat_PurchaseAskDetail c
    on e.ask_sid=c.ask_sid
      

  6.   

    不能为null的列,当然插入不了。DECLARE @t TABLE (id int NOT null)
    INSERT INTO @t SELECT  null/*
    Cannot insert the value NULL into column 'id', table '@t'; 
    column does not allow nulls. INSERT fails.
    */
      

  7.   

    设计数据库时 该列不能为null
      

  8.   

    楼主,你的表Mat_FetchDetail里有字段FetchDetail_Sid,且该字段是不允许空值的。
    楼主,你的字段FetchDetail_Sid是不是主关键字段值啊,要不要设置不自动增长的,如果要,你就设置为自动增长了,如果不要而且又是主关键字段,那么要另外处理;如果不是主关键字段,就反它设置为允许NULL值就可以了。
      

  9.   

    Mat_FetchDetail表FetchDetail_Sid是主键 吗?是自动增长吗?
    现在存在FetchDetail_Sid不能为空。有约束。
    要么就写全列名,要么去掉not null属性!
      

  10.   

    用 alter table Mat_FetchDetail alter column FetchDetail_Sid int null--舉個列子注意更改類型
      

  11.   

    不是主键的话,可以考虑  给字段 加一个 isnull(,)