首頁  >  問答  >  主體

mysql "the right syntax to use near 'not null comment '身份'"

高洛峰高洛峰2743 天前798

全部回覆(1)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-04-17 13:05:21

    create table admin(
    
    id int(4) not null primary key auto_increment comment '用户id',
    
    uname varchar(50) not null unique comment '用户名',
    
    passwd varchar(50) not null comment '密码',
    
    degree varchar(200)  not null comment '身份' check (degree = '管理员' or degree = '普通用户'),
    
    popedom int(4)not null comment '权限' check (popedom = 0 or degree = 1) ,
    
    truename varchar(50)  comment '真实姓名',
    
    sex varchar(20)comment '性别' check (sex = '男' or sex = '女') , 
    
    age int(4)comment '年龄' check (age >=0 and age <=100) ,
    
    phone varchar(50) unique comment '手机号码',
    
    address varchar(200) comment '家庭地址'
    );
    
    

    像上面,調換一下所有語句中check子句的位置和倒數第二個欄位unique的位置,可以成功建表。

    但是,請注意: MySQL不支援check,雖然能把表建出來,但裡面的check子句都是全部忽略的(加了也沒任何效果) ,詳情請參考官方文件:

    http://dev.mysql.com/doc/refman/5.1/en/alter-table.html

    「所有的儲存引擎都會對CHECK子句進行解析,但忽略CHECK子句。」
    The CHECK clause is parsed but ignored by all storage engines.

    回覆
    0
  • 取消回覆