向mysql表中插入含有中文的数据时报错:[Err] 1366

目前这种方法是在网上搜索的比较笨的一种方法,先记录下来,后面再尝试其它的一劳永逸的方法后,重新记录:

创建的表及插入语句如下:

create table students

(name varchar(25),

class varchar(25),

grade int);

insert into students values ('张三','语文',20);

insert into students values ('张三','数学',90);

insert into students values ('张三','英语',50);

insert into students values ('李四','语文',81);

insert into students values ('李四','数学',60);

insert into students values ('李四','英语',90);

insert into students values ('王二','数学',81);

insert into students values ('王二','英语',90);

插入报[Err] 1366错误后,依次执行下面的语句:

语句一:show table students;

语句一返回结果:

CREATE TABLE `students` (
`name` varchar(25) CHARACTER SET latin1 DEFAULT NULL,
`class` varchar(25) CHARACTER SET latin1 DEFAULT NULL,
`grade` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 

语句二:alter table students DEFAULT character set utf8;

语句三:alter table students change class class varchar(25) character set utf8;

语句四:alter table students change name name varchar(25) character set utf8;

再次插入成功:

 

posted @ 2018-10-07 16:14  greenmoon_tester  阅读(2105)  评论(0)    收藏  举报