mysql错误代码:1267 Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT)

😂 这篇文章最后更新于1107天前,您需要注意相关的内容是否还可用。

错误正如报错所示,多表联查时候发现,表的编码不一造成联查时报错,这时只需将编码统一,改其中一个表编码即可。若不知道怎么改数据也不多可将数据备份,MySQL建表语句导出来,重新建表即可。

当然也可以用SQL修改

1.创建库时指定编码:create database testdb default charset GBK

2.修改库的编码: ALTER DATABASE `testtable` DEFAULT CHARACTER SET utf8

COLLATE utf8_bin

3.修改表的编码:ALTER TABLE `testtable` DEFAULT

CHARACTER SET utf8 COLLATE utf8_bin 4

4.修改字段的编码:

ALTER TABLE `tablename` CHANGE `dd` `dd` VARCHAR( 45 ) CHARACTER SET utf8

COLLATE utf8_bin NOT NULL

5.查看数据库支持的所有字符集

show character set;或show char set;

6.查看当前状态

里面包括当然的字符集设置

status或者\s

7.查看系统字符集设置,包括所有的字符集设置

show variables like 'char%';

8.查看数据表中字符集设置

show full columns from tablename; 或者 show create tabletablename\G;

9.查看数据库编码

show create database dnname;