Cli*_*ote 112 mysql sql mysql-error-1267
我在处理大量数据时遇到这个奇怪的错误......
Error Number: 1267
Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
SELECT COUNT(*) as num from keywords WHERE campaignId='12' AND LCASE(keyword)='hello again 昔 ã‹ã‚‰ ã‚ã‚‹ å ´æ‰€'
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能解决这个问题?我可以以某种方式逃避字符串,因此不会发生此错误,或者我是否需要以某种方式更改我的表格编码,如果是这样,我应该将其更改为什么?
Ben*_*hes 264
SET collation_connection = 'utf8_general_ci';
Run Code Online (Sandbox Code Playgroud)
那么你的数据库
ALTER DATABASE your_database_name CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
Run Code Online (Sandbox Code Playgroud)
有时没有明智的理由,MySQL在那里偷偷溜过瑞典语.
Qua*_*noi 12
您应该将表格编码和连接编码都设置为UTF-8:
ALTER TABLE keywords CHARACTER SET UTF8; -- run once
Run Code Online (Sandbox Code Playgroud)
和
SET NAMES 'UTF8';
SET CHARACTER SET 'UTF8';
Run Code Online (Sandbox Code Playgroud)
小智 8
CONVERT(column1 USING utf8)
Run Code Online (Sandbox Code Playgroud)
解决了我的问题.其中column1是给出此错误的列.
| 归档时间: |
|
| 查看次数: |
142936 次 |
| 最近记录: |