在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到底有没有设置成自增
    use db_df.
    go
    insert into tb_student
    (stu_Name,stu_sex,stu_age)
    values
    ('yh','women','67')
      

  2.   

    检查一下stu_ID是否真的为子增列
      

  3.   

    stu_ID列没有加上自动增加的标记吧?
      

  4.   

    stu_ID虽然是主键,还没有设成标识列(自增列)
      

  5.   

    stu_ID估计没有设置成标识列 只设计成了主键 
      

  6.   


    --请贴出你建表的脚本
    --建表加上自增列的例子
    create table test(
        ID int    identity(1,1)
        ,stu_no   int
        ,stu_name nvarchar(5)
    )
      

  7.   

    我把stu_ID设置成标识列了,并且也是主键