5 回答

TA贡献14条经验 获得超23个赞
mysql中enum类型的字段不能显式设置默认值,默认为第一个值,比如你写的‘男’。若要把默认设置成保密,可以把保密放在第一个位置。
另外,最好建表的时候设置下表的默认编码。比如utf8.修改后的表结构为。
CREATE TABLE `imooc_user`( `id` int(11) unsigned not null auto_increment primary key, `username` varchar(20) not null unique, `password` char(32) not null, `sex` enum("保密", "男","女") not null, `face` varchar(50) not null, `regTime` int unsigned not null )engine=innodb default charset=utf8;

TA贡献1条经验 获得超0个赞
#会员(用户)表:imooc_user
DROP TABLE IF EXISTS `imooc_user`;
CREATE TABLE `imooc_user`(
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT KEY,
`username` VARCHAR(30) NOT NULL DEFAULT '' COMMENT '会员名称',
`password` VARCHAR(32) NOT NULL DEFAULT '0' COMMENT '密码',
`sex` ENUM("男","女","保密") NOT NULL DEFAULT '男' COMMENT '性别',
`email` VARCHAR(60) NOT NULL DEFAULT '' COMMENT '邮箱',
`face` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '用户头像',
`regTime` INT UNSIGNED NOT NULL DEFAULT '0' COMMENT '注册时间',
`activeFlag` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '是否激活:0否,1激活'
)ENGINE=MYISAM DEFAULT CHARSET='gbk';

TA贡献2条经验 获得超0个赞
DROP TABLE IF EXISTS `shop_user`;
CREATE TABLE `shop_user`(
`id` int unsigned auto_increment key,
`username` varchar(20) not null unique,
`password` char(32) not null,
`sex` enum('保密','男','女') not null DEFAULT '保密',
`email` varchar(50) not null,
`face` varchar(255) not null,
`regTime` int unsigned not null
);
- 5 回答
- 2 关注
- 26343 浏览
添加回答
举报