create table student( 
number char(5) not null unique, 
stuName char(8) not null, 
age smallint default 20, 
sex    char(2), 
department char(20) default c1 20 for age, 
constraint c2 check(sex in ('male','female')) 
); 
服务器: 消息 170,级别 15,状态 1,行 8 
第 8 行: '20' 附近有语法错误-----在网上搜了半天,一直没有什么头绪,各位能不能指点一下,像出现这类问题,我们如何去解决?

解决方案 »

  1.   

    create table student(
    number char(5) not null unique,
    stuName char(8) not null,
    age smallint default 20,
    sex    char(2),
    department char(20),constraint c2 check(sex in ('male','female'))
    ); 
      

  2.   

    create table student( 
    number char(5) not null unique, 
    stuName char(8) not null, 
    age smallint default 20, 
    sex    char(2), department char(20),
    default c1 20 for age, 这句你想作什么?constraint c2 check(sex in ('male','female')) 
    ); 
      

  3.   

    都有age的默认值了,再加会报错
      

  4.   

    create table student(
    number char(5) not null unique,
    stuName char(8) not null,
    age smallint,
    sex     char(2),
    department char(20)

    default c1 20 for age,
    constraint c2 check(sex in ('male','female'))
    );
    上面我不加,它同样也会报错
      

  5.   

    create table student( 
    number char(5) not null unique, 
    stuName char(8) not null, 
    age smallint default 20, 
    sex    char(2), 
    department char(20),
    constraint c2 check(sex in ('male','female')) 
    ); 
      

  6.   

    谢谢您,但是写成default c1 20 for age,这种格式为什么会报错?
      

  7.   

    default c1 20 for age--這樣定義存在語法錯誤 create table student(
    number char(5) not null unique,
    stuName char(8) not null,
    age smallint  constraint c1 default 20 ,--在這里定義"c1"
    sex    char(2),
    department char(20)
    constraint c2 check(sex in ('male','female'))
    );
      

  8.   

    在T-SQL语言里就会报错,其他SQL语言应该不会,因为这句"default c1 20 for age"不是T-SQL 语句