mysql - 排序规则的非法混合 - MySQL 假表
问题描述
我通过以下方式创建了一个假表:
SELECT 'B' a_name UNION ALL
SELECT 'A' a_name
并尝试加入不同的表,但我看到了错误:
排序规则(latin1_swedish_ci 隐式)和(utf8_general_ci coercible)的非法混合
我不是管理员,所以我无法更新表格排序规则,
这个问题有什么解决方法吗?
解决方案
似乎您的另一个(实际)表正在使用utf8_general_ci
; 当您的数据库连接/服务器配置设置为latin1_swedish_ci
. 它也可以是其他方式。
不过,我们可以使用CONVERT()
函数,将“假表”更改为使用utf8
(如果另一个(实际)表正在使用utf8
)。
SELECT CONVERT('B' USING utf8) AS a_name UNION ALL
SELECT CONVERT('A' USING utf8) AS a_name
推荐阅读
- list - Dart 列表分别给出结果
- c# - 在 Direct2D 中绘制贝塞尔曲线
- spring - 即使在 Kotlin 中指定时,Spring Boot 内容类型错误
- pca - 多元滞后时间序列的分量重构
- apache-flink - 如何将 int 列聚合到数组
在flink? - c++ - if-initializer 中的 lock_guard 初始化,而不是简单的作用域
- r - 函数对相似公式输入的响应不同
- python - 如何纠正 IndentationError: unindent 不匹配任何外部缩进级别
- python - 如何以正确的方式在没有 pip 的情况下安装 tensorflow?
- javascript - 承诺后的操作顺序