问题
今天做项目过程中,程序在执行一个update语句时遇到以下报错:
1267 - Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (......) for operation '='
分析
- 字符集问题(两张表的字符集不一致)
解决
- 通过navicat修改
- 进入navicat,设计表 -> 选项 -> 字符集,修改保存即可
再次执行sql,还是一样的错!关闭navicat重新打开查看对应表的字符集,发现已经是修改了的,那就手动执行命令试试吧:
alter table `tabeName` charset=utf8;
alter table `tabeName` convert to character set utf8;
再次执行sql,成功!