无法将值 NULL 插入列 '',表列不允许为空值.插入失败 [英] Cannot insert the value NULL into column '', table column does not allow nulls. INSERT fails

查看:71
本文介绍了无法将值 NULL 插入列 '',表列不允许为空值.插入失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

代码:

ALTER PROCEDURE [dbo].[SP_LMS_dealerorusercreation_IUDS]
@dealrid bigint,
@rid bigint,
@stateid bigint,
@regonid bigint,
@Locid bigint,
@pid varchar(MAX),
@address varchar(max),
@dealrname varchar(25),
@landno bigint,
@mobno bigint,
@altcontno bigint,
@email varchar(35),
@desig varchar(25),
@reporting varchar(30),
@status int,
@action varchar(10),
@CompanyId Uniqueidentifier

AS
DECLARE @TranStatus VARCHAR(5)
 BEGIN TRY
    BEGIN TRANSACTION
      IF(@action='Insert')
         BEGIN
          INSERT INTO LMS_dealerorusercreation(
rid,
stateid,
regonid,
Locid,
addres,
dealrname,
landno,
mobno,
altcontno,
email,
desig,
reporting,
status,
CompanyId
)
VALUES(
@rid,
@stateid,
@regonid,
@Locid,
@address,
@dealrname,
@landno,
@mobno,
@altcontno,
@email,
@desig,
@reporting,
@status,
@CompanyId
)
SELECT @dealrid = dealrid FROM LMS_dealerorusercreation WHERE mobno = @mobno AND email = @email
EXEC [dbo].[SP_LMS_SetDealerProductMapping]
@dealerId = @dealrid,
@prodid = @pid
SET @TranStatus='TRUE';
END       

IF(@action='Update')
     BEGIN
    UPDATE LMS_dealerorusercreation set rid= @rid,
    stateid=@stateid,
    regonid=@regonid,
    Locid=@Locid,
    addres=@address,
    dealrname=@dealrname,
    landno=@landno,
    mobno=@mobno,
    altcontno=@altcontno,
    email=@email,
    desig=@desig,
    reporting=@reporting,
    status=@status
    WHERE dealrid=@dealrid

SET @TranStatus='TRUE';       
    END              
    IF(@action='Delete')
    BEGIN
    DELETE FROM LMS_dealerorusercreation WHERE dealrid=@dealrid
    SET @TranStatus='TRUE';
    END
    COMMIT TRANSACTION
    END TRY
    BEGIN CATCH
    ROLLBACK TRANSACTION
    DECLARE @AI VARCHAR(MAX)
    DECLARE @EM VARCHAR(MAX);
    SET @AI = 'Not Provided'
    SET @EM = ERROR_MESSAGE();
    EXEC USP_SetException 
    @ExceptionDetail = @EM,
    @AdditionalInfo = @AI
    SET @TranStatus='FALSE';
    END CATCH
    SELECT @TranStatus;

我得到的错误是

无法将值 NULL 插入列 'dealrid'、表 'DB_LMS.dbo.LMS_dealerorusercreation';列不允许空值.插入失败.

Cannot insert the value NULL into column 'dealrid', table 'DB_LMS.dbo.LMS_dealerorusercreation'; column does not allow nulls. INSERT fails.

推荐答案

你需要做两件事之一,要么......

You need to do one of two things, either...

  • 确保为该列传递一个非空值,或者;
  • 确保您的列接受空值(如果这是字段的所需属性).

这篇关于无法将值 NULL 插入列 '',表列不允许为空值.插入失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆