在SQL SERVER 2005 management中建了一个数据库db_df,然后建了个表,名字叫td_student,表里建了几个字段分别为
stu_ID,stu_Name,stu_sex,stu_age,
我目的是是这样的:往表里插入几个数据,只插入stu_Name,stu_sex,stu_age字段的(其中stu_ID是主键,标示列,不可为空,主键似乎只能设置成不为空),让stu_ID自动增加
所以我用了如下SQL语句:
use db_df
insert into tb_student
(stu_Name,stu_sex,stu_age)
values
('yh','women','67')
运行后提示消息 515,级别 16,状态 2,第 2 行
不能将值 NULL 插入列 'stu_ID',表 'db_df.dbo.tb_student';列不允许有空值。INSERT 失败。
语句已终止。
这是咋回事啊
 请各位帮忙~~~谢谢

解决方案 »

  1.   

    去你的数据库里给 STU_ID 设置属性 标识范围 设置下
      

  2.   

    有2种可能性:
    1、字段stu_ID没有设置为自增标识,首先检查这个;
    2、SET IDENTITY INSERT 开关被设置为on 了
       语法:
       SET IDENTITY_INSERT [ database_name . [ schema_name ] . ] table { ON | OFF }
      

  3.   

    create database db_df
    go
    use db_dfcreate table tb_student
    (
    stu_ID int primary key identity(1,1),
    stu_Name nvarchar(20),
    stu_sex nvarchar(20),
    stu_age int
    )
    insert into tb_student
    (stu_Name,stu_sex,stu_age)
    values
    ('yh','women',67)用我上面的语句没问题!
    你的SQL语句问题在于你自增长没有设置要用 identity(1,1)设置自增长。
      

  4.   

    stu_ID是int型的??????????