MySQL插入语句执行出错ERROR1366,不正确的字符串值

ERROR 1366 (HY000): Incorrect string value: '\xC1\xF5\xB5\xC2\xBB\xAA' for column 'sname' at row 1

笔者执行了这样一条简单的语句后出现的上面的错误

mysql> insert into student values('刘德华',100124,1,null,'声乐192班');

这个表设计是这样的。

MySQL插入语句执行出错ERROR1366,不正确的字符串值_第1张图片

我查询了一下结构,看到了表的字符集是Latin1

MySQL插入语句执行出错ERROR1366,不正确的字符串值_第2张图片

所以改动一下字符集

mysql> alter table student character set utf-8;

重新执行插入语句,发现还是原来的错误,就再查询一次表结构,发现表的更改了,字段的又来了两个

MySQL插入语句执行出错ERROR1366,不正确的字符串值_第3张图片

我一一把它们改了

mysql> alter table student modify sname  varchar(20)  character set gbk;
mysql> alter table student modify class varchar(20)  character set gbk;

继续执行插入语句,插入成功,再查看表数据,确认无误。

MySQL插入语句执行出错ERROR1366,不正确的字符串值_第4张图片

 

 

 

你可能感兴趣的:(MySQL数据库,笔记)