ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your

 create table students(id int unsigned primary key auto_increment,name varchar(50) not null,age int unsigned,high decimal(3,2),gender enum('男','女','中性','保密','妖') default '保密',cls_id int unsigned);

在对数据库插入如上带有中文带有默认值的字段的时候,出现了如下错误:

ERROR 1064 (42000): 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 '' at line 1

这个原因一般是数据库编码出现了问题,在创建数据库的时候使用的默认的字符编码,如果不知道数据库的编码是什么,可以使用命令:

show create database 数据库名;

来查看数据库创建的时候使用的是什么字符,如果是latin拉丁文,可以使用命令:

alter database <数据库名> character set utf8;

来修改数据库的编码。或者直接删除该数据库重新创建数据库,然后指定编码格式:

create database 数据库名字 charset=utf8;

数据库编码正确之后重新插入带有默认值的字段名,成功。

alter table student add genders enum('man','woman') default 'man';

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值