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';

 

你可能感兴趣的:(Oracle数据库,Web相关,错误集)