報錯:Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
一個表中不同的字段使用不同的字符集,也是一個道理。
用SHOW CREATE TABLE table_name;可以看出具體的字符集設置。
解決方法:
將不同的字符集,轉化成統一的字符集。
1.1 如果是windows版本的mysql,那麼在安裝的時候,系統就會提示用哪種編碼。
如果安裝的時候設置錯誤了,修改mysql安裝目錄下的my.ini文件:
[mysql]
default-character-set=utf8
...
# The default character set that will be used when a new schema or table is
# created and no character set is defined
default-character-set=utf8
配置好後,重啓mysql。
1.2 如果是linux版本的mysql
修改mysql的配置文件,使數據庫與服務器操作系統的字符集設置一致。
vi /etc/my.cnf 設置(如果沒有發現這個文件,就新建1個)
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
default-character-set=utf8 (增加的關鍵一句,使得數據庫缺省以utf8存儲)
當然,修改後,要重啓數據庫。(這樣設置後對新建的數據庫表才起作用)
然後重新將數據導入。