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数据库十大经典错误案例