insert (字段,..,合同id,..,字段)values(值...,nullif(合同id值,0),..,值..)这样0的就是null了

解决方案 »

  1.   

    顶楼上的,将插入数据处理一下nullif(合同id值,0)
      

  2.   

    自然出库时,合同ID列插入null值,不要插入0,因为有外键约束;
    合同出库时,那自然要插入合同ID的值;
    你可以先判断是哪一种出库?然后再决定要不要插入合同ID这个字段,插入null值和不插入的结果合同ID都为null,只要你弄明白,什么做都可以
      

  3.   

    如果0永远都不可能是合同id的话:
    insert (字段,..,合同id,..,字段)values(值...,nullif(合同id值,0),..,值..) 
    如果0永远都可能是合同id的话,根据业务来写不同的SQL
    自然出库时,合同ID列不写在SQL插入语句中,默认就会为ull值; 
    合同出库时,合同ID列插入合同ID的值;