mysql數據庫寫入數據提示1366代碼錯誤解決方法
mysql數據庫寫入數據提示1366代碼錯誤解決方法
錯誤代碼: 1366
Incorrect string value: '張三...' for column `student`.`student`.`studentname` at row 1
原因分析:
在創(chuàng)建數據庫的時候沒有指定數據庫的字符集,直接用下面命令創(chuàng)建:
DROP DATABASE IF EXISTS student;
CREATE DATABASE student;
并且在安裝數據庫時也沒有修改配置文件指定默認數據庫的字符集。查詢字符集命令:
SHOW VARIABLES LIKE '%char%';
在mysql中新建數據庫,如果只寫數據庫名,沒有設置字符集和排序規(guī)則,默認字符集為latin1 ,排序規(guī)則為latin1_swedish_ci 。創(chuàng)建的數據庫不是utf-8字符集,而latin1是不支持中文的。所有提示錯誤1366錯代碼。
解決辦法:
重新創(chuàng)建數據庫命令如下:
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數據庫十大經典錯誤案例