SQL SERVER 自动编号字段出现:无法将NULL值插入列的解决方法

错误提示信息:
        SQL SERVER 无法将NULL值插入列UserID,表UserInfo中该列不能为空,INSERT 失败……
        过程“DT_ADDUSER”试图返回状态值NULL,但不允许这样做。将改为返回状态值0

错误原因:
        UserInfo.UserID列不允许插入空值。在存储过程中需要一个返回值,但在执行过程中却没有生成一个值,从而返回NULL值导致此错误。

解决方法:
        将UserInfo.UserID列设置为关键字,然后如图所示处理:

SQL SERVER 无法将NULL值插入列 - 张同亮 - 轲

//-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

存储过程内容参考:
CREATE PROCEDURE [DT_ADDUSER] 
(
         @UserName char(10),
          @UserSex bit,
           @UserContent varchar(500)
)
AS
          Insert Into [UserInfos]
          (
                     [UserName],
                    [UserSex],
                    [UserContent]
          )
           Values
          (
                     @UserName,
                     @UserSex,
                    @UserContent
          )
          return @@IDENTITY --------返回最新插入的ID编号

相关问题:
       当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'gczczbb' 中的标识列插入显式值
       方法:SET IDENTITY_INSERT 表名 ON


下面是实际中碰到的问题:

SQL SERVER 无法将NULL值插入列 - 张同亮 - 轲

SQL SERVER 无法将NULL值插入列 - 张同亮 - 轲

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值