mysql建表语句显示错误2
CREATE table message(
uid int not null PRIMARY KEY auto_increment COMMENT '用户id',
uname varchar(10) COMMENT '姓名',
sex char(2) CHECK(sex='男' or sex='女') COMMENT '性别',
bir datetime COMMENT '出生日期',
hobby char(8) COMMENT '爱好',
pw char(8) COMMENT '密码',
tx BLOB COMMENT '头像',
dz varchar COMMENT '地址',
phone char(11) COMMENT '电话',
qq char(11) COMMENT 'qq',
myself_pj text COMMENT '自我评价',
)COMMENT '信息表'
显示错误如下:
CREATE table message(
uid int not null PRIMARY KEY auto_increment COMMENT '用户id',
uname varchar(10) COMMENT '姓名',
sex char(2) CHECK(sex='男' or sex='女'),
bir datetime COMMENT '出生日期',
hobby char(8) COMMENT '爱好',
pw char(8) COMMENT '密码',
tx BLOB COMMENT '头像',
dz varchar COMMENT '地址',
phone char(11) COMMENT '电话',
qq char(11) COMMENT 'qq',
myself_pj text COMMENT '自我评价'
)COMMENT '信息表';
把CHECK()这部分去掉试试?可能这个版本不支持。
mysql> create table demo2(
c1 tinyint unsigned
);
Query OK, 0 rows affected (0.01 sec)
mysql> insert into demo2 values (-1);
ERROR 1264 (22003): Out of range value for column 'c1' at row 1
mysql> insert into demo2 values (pow(2,8)+1);
ERROR 1264 (22003): Out of range value for column 'c1' at row 1
mysql> insert into demo2 values (0),(pow(2,8));
mysql> insert into demo2 values (0),(pow(2,8)-1);
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> select * from demo2;
+------+
| c1 |
+------+
| 0 |
| 255 |
+------+
2 rows in set (0.00 sec)
c1是无符号的tinyint类型的,插入了负数会报错。