代码如下:
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) check (degree = '管理员' or degree = '普通用户') not null comment '身份',
popedom int(4) check (popedom = 0 or degree = 1) not null comment '权限',
truename varchar(50) comment '真实姓名',
sex varchar(20) check (sex = '男' or sex = '女') comment '性别',
age int(4) check (age >=0 and age <=100) comment '年龄',
phone varchar(50) comment unique '手机号码',
address varchar(200) comment '家庭地址',
)
报错信息:
[Err] 1064 - You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to
use near 'not null comment '身份',
popedom int(4) check (popedom = 0 or degree = 1) n' at line 9
像上面,调换一下所有语句中check子句的位置和倒数第二个字段unique的位置,可以成功建表。
但是,请注意: MySQL并不支持check,虽然能把表建出来,但里面的check子句都是全部忽略的(加了也没任何效果),详情请参考官方文档:http://dev.mysql.com/doc/refman/5.1/en/alter-table.html](http://dev.mysql.com/doc/refman/5.1/en/alter-table.html)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。