【问题标题】:mysql said #1270 illegal mix of collations with concatmysql 说 #1270 非法混合排序规则和 concat
【发布时间】:2014-09-05 08:19:27
【问题描述】:

当这个错误出现时我正在导入我的 sql 数据我搜索了很多网站以解决问题但找不到一个。

查询:

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` 
SQL SECURITY DEFINER VIEW `viewtblacctg_si_open_detl` AS 
    select `b`.`CustCode` AS `CustCode`,`s`.`SINo` AS `SINo`,
            `s`.`dtSI_Detl` AS `dtSI_Detl`,`s`.`LN` AS `LN`,
            `s`.`Qty` AS `Qty`,`s`.`UOM` AS `UOM`,
            `s`.`ItemType` AS `ItemType`,`s`.`StockCode` AS `StockCode`,
            `s`.`ItemCode` AS `ItemCode`,`s`.`ItemDesc` AS `ItemDesc`,
            `s`.`Brand` AS `Brand`,`s`.`Unit_Price` AS `Unit_Price`,
            `s`.`Gross_Amt` AS `Gross_Amt`,`s`.`Disc_Amt` AS `Disc_Amt`,
            `s`.`VAT_Amt` AS `VAT_Amt`,`s`.`Net_Amt` AS `Net_Amt`,
            `s`.`Frm_DocPref` AS `Frm_DocPref`,`s`.`Frm_DocNo` AS `Frm_DocNo`,
            `s`.`SIStatus_Detl` AS `SIStatus_Detl` 
    from (`viewtblacctg_collection_balance` `b` 
          left join `tblacctg_si_detl` `s` on((concat(`b`.`Doc_Type`,`b`.`Doc_No`) = concat(_utf8'SI',`s`.`SINo`)))) 
    where (`s`.`Qty` <> 0);

错误:#1270 - 非法混合排序规则 (latin1_swedish_ci,IMPLICIT), (utf8_general_ci,COERCIBLE), (utf8_general_ci,COERCIBLE) 用于操作 'concat'

【问题讨论】:

  • 不同的排序规则实际上会导致数据库中出现大量问题。如果可能,请将所有表中所有 char 字段的所有排序规则更改为相同。

标签: mysql sql


【解决方案1】:

请检查您的表的排序规则并尝试使用相同的排序规则。您正在使用不同的排序规则进行 concat 操作,这可能会导致问题。再次仔细检查您的那些表并尝试使用相同的排序规则。 谢谢

【讨论】:

    猜你喜欢
    • 2012-08-28
    • 2011-12-06
    • 2015-01-29
    • 1970-01-01
    • 2011-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多