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

再次插入成功:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM