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