gpt4 book ai didi

mysql - 左连接查询中的问题

转载 作者:行者123 更新时间:2023-11-30 00:42:54 25 4
gpt4 key购买 nike

以下是我的查询,其中我从两个不同的表中获取结果,但它给了我以下错误,请让我知道我做错了什么:

错误:#1267 - 操作“=”时非法混合排序规则 (utf8_general_ci,COERCIBLE) 和 (latin1_swedish_ci,IMPLICIT)

SELECT MD5( pre_quiz.qid ),
pre_quiz.quiz_title,
pre_quiz.quiz_desc,
pre_course.cname
FROM pre_quiz
LEFT JOIN pre_course ON
MD5( pre_course.cid ) = pre_quiz.quiz_course_id
WHERE pre_quiz.createdby = 'user'
ORDER BY pre_quiz.quiz_title

最佳答案

  1. 检查每个表的排序规则类型,并确保它们具有相同的排序规则。

  2. 之后,还要检查您在操作中使用的每个表字段的排序规则类型。

以下是如何检查哪些列的排序规则错误:

SELECT table_schema, table_name, column_name, character_set_name, collation_name

FROM information_schema.columns

WHERE collation_name = 'latin1_general_ci'

ORDER BY table_schema, table_name,ordinal_position;

这是修复它的查询:

ALTER TABLE tbl_name CONVERT TO CHARACTER SET latin1 COLLATE 'latin1_swedish_ci';

编辑

更改列的排序规则

ALTER TABLE MyTable ALTER COLUMN Column1 [TYPE] COLLATE [NewCollation]

<强> Source

关于mysql - 左连接查询中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21626024/

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