【发布时间】:2013-02-10 20:00:09
【问题描述】:
在尝试连接某些值时,我在使用 MySQL 5.5.27 时不断收到错误消息。我已经搜索并看到了一堆字符集的答案(诚然,这是我头上的一个 TAD),但我已经将我的所有表格都转换为 Charset utf8-unicode-ci 并且仍然得到错误。
当然有一种方法可以连接这些值,但我只是不知道如何。我是一个 Oracle 人,对 MySQL 比较陌生。
这是 SQL 行:
concat(pl.last_name,'-',format(money,0))
我明白了:
#1270 - Illegal mix of collations (latin1_swedish_ci,IMPLICIT), (utf8_unicode_ci,COERCIBLE), (utf8_unicode_ci,COERCIBLE) for operation 'concat'
有什么想法吗?
【问题讨论】:
-
您的货币列是整数吗?如果不是你不能使用格式,请参阅dev.mysql.com/doc/refman/5.1/en/…。
-
我的钱列是一个整数。感谢您提供链接,但我已经尝试过其中的每一个。顺便说一句,我在本地没有这个问题。我只是在主机上有这个,我在 phpmyadmin 中遇到了这个。当我在本地运行相同的 SQL(使用 TOAD for MySQL)时,它运行良好(只是直接连接;不需要整理等)。
-
无论如何 - 在主机上,我还更改了所有表和数据库本身的字符集......但仍然出现错误。当我使用“Collate”运行 sql 时,我得到:#1253 - COLLATION 'utf8_unicode_ci' 对 CHARACTER SET 'latin1' 无效。
标签: mysql concatenation