mysql数据库写入数据提示1366代码错误解决方法

mysql数据库写入数据提示1366代码错误解决方法

错误代码: 1366

Incorrect string value: '张三...' for column `student`.`student`.`studentname` at row 1

原因分析:

在创建数据库的时候没有指定数据库的字符集,直接用下面命令创建:

DROP DATABASE IF EXISTS student;

CREATE DATABASE student;

并且在安装数据库时也没有修改配置文件指定默认数据库的字符集。查询字符集命令:

SHOW VARIABLES LIKE '%char%';

在mysql中新建数据库,如果只写数据库名,没有设置字符集和排序规则,默认字符集为latin1 ,排序规则为latin1_swedish_ci 。创建的数据库不是utf-8字符集,而latin1是不支持中文的。所有提示错误1366错代码。

解决办法:

重新创建数据库命令如下:

CREATE DATABASE `student` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

或者修改数据库字符集命令如下:

alter database student character set utf8;

修改完成数据库字符集,重启数据库,然后在修改表字符集命令如下:

ALTER TABLE 表名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

在修改列字符集,命令如下:

ALTER TABLE 表名 CHANGE 列名 列名 VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;


下一篇:MySQL数据库十大经典错误案例