向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