gpt4 book ai didi

mysql - #1271 - 操作 'UNION' 的排序规则混合非法

转载 作者:行者123 更新时间:2023-11-29 03:01:29 25 4
gpt4 key购买 nike

SELECT tbl_town.area_id, 
tbl_town.area_name
FROM tbl_town
WHERE city_id = 1

UNION

SELECT CONCAT( tbl_town.area_id, '-', tbl_town_phase.town_phase_id ),
CONCAT( tbl_town.area_name, '-', tbl_town_phase.town_phase_name )
FROM tbl_town, tbl_town_phase
WHERE tbl_town.area_id = tbl_town_phase.town_id
AND tbl_town.city_id = 1

UNION

SELECT CONCAT( tbl_town.area_id, '-', tbl_town_phase.town_phase_id, '-', tbl_town_block.town_block_id ),
CONCAT( tbl_town.area_name, '-', tbl_town_phase.town_phase_name, '-', tbl_town_block.town_block_name )
FROM tbl_town, tbl_town_phase, tbl_town_block
WHERE tbl_town.area_id = tbl_town_phase.town_id
AND tbl_town_phase.town_phase_id = tbl_town_block.town_phase_id
AND tbl_town.city_id =1
LIMIT 0 , 30

MySQL 说:文档

#1271 - Illegal mix of collations for operation 'UNION

最佳答案

我以前遇到过类似的问题。这是由混合排序规则引起的,很可能是由不同的列排序规则或字符串的默认排序规则引起的。

这就是你可以尝试的

  • 检查所有列的排序规则是否相同
  • 检查数据库的排序规则是否与列相同
  • 将所有列转换为与数据库相同的排序规则并运行脚本 - 然后删除查询中的排序规则以找出导致问题的列

否则你的查询看起来不错。

关于格式的一些小反馈是使用连接以提高可读性。将所有表放在“来自”部分,然后在 where 子句中链接所有内容可能会造成混淆。

关于mysql - #1271 - 操作 'UNION' 的排序规则混合非法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22928789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com