电脑技术学习

MySQL编码与建表时编码不一样的解决方法

dn001
首先,我们来看一下错误的具体示例:

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`)

) ;