当所有内容都排序相同时,MySQL非法混合使用排序规则
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了当所有内容都排序相同时,MySQL非法混合使用排序规则,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2265字,纯文字阅读大概需要4分钟。
内容图文
![当所有内容都排序相同时,MySQL非法混合使用排序规则](/upload/InfoBanner/zyjiaocheng/887/1312ddda3ee24eb2b90e2cbb4f0c1a54.jpg)
我可以在MySQL中运行此查询,并且效果很好.但是,我需要对ctd.FULL_DESCRIPTION(TEXT数据类型)做一个LEFT函数,并只接受前3600个字符,当我尝试这样做时(使用LEFT(ctd.FULL_DESCIPTION,3600))我得到了错误:非法混合操作’UNION’的归类(utf8_general_ci,IMPLICIT)和(latin1_swedish_ci,COERCIBLE)
我可以找到的所有关于此错误的信息表明,我的一列与其他列的排序不同.我在此查询中的所有表上执行了SHOW FULL COLUMNS,所整理的所有内容均使用utf8_general_ci.数据库的默认排序规则也是utf8.我在哪里都找不到latin1_swedish_ci的位置.我想念什么?
SELECT
CONCAT(''73'',RIGHT(CONCAT(''000000'',cd.CHANGEID),6)) AS CHANGEID,
LEFT(cd.TITLE,80) AS CHANGETITLE, FROM_UNIXTIME(cd.CREATEDTIME/1000) AS PRJDATE,
LEFT(sd.NAME,10) AS STATUSNAME, wo.WORKORDERID AS WOID, LEFT(wo.TITLE,80) AS WOTITLE,
LEFT(au.FIRST_NAME,10) as TECHNAME, ctd.FULL_DESCRIPTION AS CHANGEDSC
FROM servicedesk.changedetails cd, servicedesk.incidenttochangemapping itcm,
servicedesk.workorder wo, servicedesk.stagedefinition sd, servicedesk.workorderstates
wos, servicedesk.sduser sdu, servicedesk.aaauser au, servicedesk.changetodescription ctd
WHERE cd.CHANGEID = itcm.CHANGEID and itcm.WORKORDERID = wo.WORKORDERID and
cd.STAGEID = sd.STAGEID and wo.WORKORDERID = wos.WORKORDERID and wos.OWNERID =
sdu.USERID and sdu.USERID = au.USER_ID and cd.CHANGEID = ctd.CHANGEID and
cd.STAGEID NOT IN (3,2) and cd.CATEGORYID IN
(301,2701,3601,3602,3605,3606,4201,4202,4501,4502,4801) and wos.REQUESTTYPEID IN
(301,601)
UNION
SELECT CONCAT(''73'',RIGHT(CONCAT(''000000'',cd.CHANGEID),6)) AS CHANGEID,
LEFT(cd.TITLE,80) AS CHANGETITLE, FROM_UNIXTIME(cd.CREATEDTIME/1000) AS PRJDATE,
LEFT(sd.NAME,10) AS STATUSNAME, '''' AS WOID, '''' AS WOTITLE, '''' AS TECHNAME,
ctd.FULL_DESCRIPTION AS CHANGEDSC
FROM servicedesk.changedetails cd, servicedesk.stagedefinition sd,
servicedesk.changetodescription ctd
WHERE cd.STAGEID = sd.STAGEID and cd.CHANGEID = ctd.CHANGEID and cd.STAGEID NOT
IN (3,2) and cd.CATEGORYID IN
(301,2701,3601,3602,3605,3606,4201,4202,4501,4502,4801) and NOT EXISTS (
SELECT NULL FROM servicedesk.incidenttochangemapping itcm WHERE cd.CHANGEID =
itcm.CHANGEID)
解决方法:
问题是系统变量collat??ion_connection设置为latin1_swedish_ci,其他所有内容均为utf8_general_ci.将collat??ion_connection设置为utf8_general_ci可以使查询成功运行.
内容总结
以上是互联网集市为您收集整理的当所有内容都排序相同时,MySQL非法混合使用排序规则全部内容,希望文章能够帮你解决当所有内容都排序相同时,MySQL非法混合使用排序规则所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。