技术开发 频道

深入剖析MySQL数据库字符集的出错现象

  【IT168技术文档】首先,我们来看一下错误示例:

  Illegal mix of collations (gbk_chinese_ci,IMPLICIT)   and (gbk_bin,IMPLICIT) for operation '=',   SQL State: HY000, Error Code: 1267

  原因:

  数据库的编码与建表时的编码不一样;

  处理方法:

  如果安装MySQL时设置的编码为jbk,那么建表时可以用下面的方法处理:

  CREATE TABLE `teachers` (   id` int(11) NOT NULL default '0',   name` varchar(20) default NULL,   password` varchar(20) default NULL,   department_id` int(11) default NULL,   PRIMARY KEY (`id`)   ) ENGINE=MyISAM DEFAULT CHARSET=gbk;

  也可以用下面的方法:

  CREATE TABLE `teachers` (   id` int(11) NOT NULL default '0',   name` varchar(20) default NULL,   password` varchar(20) default NULL,   department_id` int(11) default NULL,   PRIMARY KEY (`id`)   ) ;
0
相关文章