这是我创建表的sql语句
CREATE TABLE `admin` (
`id` int(4) NOT NULL AUTO_INCREMENT,
`username` varchar(50) DEFAULT NULL,
`password` varchar(50) DEFAULT NULL,
`realname` varchar(50) DEFAULT NULL,
`sex` varchar(50) DEFAULT NULL,
`age` varchar(50) DEFAULT NULL,
`address` varchar(50) DEFAULT NULL,
`tel` varchar(50) DEFAULT NULL,
`addtime` varchar(50) DEFAULT NULL,
`sf` varchar(50) DEFAULT '普通管理员',
UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=gb2312;
执行结果报错log为
[ERR] 1067 - Invalid default value for ‘sf’
也就是说我的 sf 字段默认为无效。
解决--->>>
到mysql的安装路径下面 --> 打开 my.ini 文件 -->
查看default-character-set=utf8和character-set-server=utf8
两处配置是否均是utf8。
default-character-set=utf8
character-set-server=utf8
没有的话就加上,然后保存修改,重启mysql服务,重新执行sql语句,执行成功。
注意:我在保存修改 my.ini 文件的时候遇到了没有修改权限的问题,这个时候右击该文件 --> 属性 --> 安全 -->点击编辑赋予对应的修改权限即可。