欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql報(bào)錯(cuò)1267?-?Illegal?mix?of?collations問(wèn)題的解決方法

 更新時(shí)間:2025年01月14日 09:16:56   作者:好玩的Matlab(NCEPU)  
這篇文章主要介紹了mysql報(bào)錯(cuò)1267?-?Illegal?mix?of?collations問(wèn)題的解決方法,解決這個(gè)問(wèn)題的方法是將兩個(gè)字符集統(tǒng)一起來(lái),文中介紹了好幾種解決的辦法,需要的朋友可以參考下

我輸入下面代碼

SELECT 
*
FROM 
po_pomainviewt
WHERE cInvName IN (
    SELECT SUBSTRING_INDEX(FileName, '.', 1)
    FROM fileinfo
);

錯(cuò)誤

報(bào)錯(cuò)1267 - Illegal mix of collations (utf8mb4_0900_ai_ci,IMPLICIT) and (utf8mb4_german2_ci,IMPLICIT) for operation '='

這個(gè)錯(cuò)誤是由于在執(zhí)行查詢時(shí),兩個(gè)表的字符集排序規(guī)則(collation)不一致。你可以通過(guò)以下幾種方式來(lái)解決這個(gè)問(wèn)題:

1. 使用 COLLATE 指定相同的排序規(guī)則

你可以在查詢中明確指定 COLLATE,讓兩邊的排序規(guī)則一致。例如:

SELECT *
FROM po_pomainviewt
WHERE cInvName COLLATE utf8mb4_german2_ci IN (
    SELECT SUBSTRING_INDEX(FileName, '.', 1) COLLATE utf8mb4_german2_ci
    FROM fileinfo
);

在這個(gè)例子中,我使用了 utf8mb4_german2_ci 排序規(guī)則。你也可以根據(jù)需要將其更改為其他適合你的排序規(guī)則。

2. 修改表的排序規(guī)則

你可以修改表的排序規(guī)則,使其在整個(gè)表中保持一致:

ALTER TABLE po_pomainviewt CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_german2_ci;
ALTER TABLE fileinfo CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_german2_ci;

3. 統(tǒng)一數(shù)據(jù)庫(kù)的排序規(guī)則

你也可以修改數(shù)據(jù)庫(kù)的排序規(guī)則,讓所有新表使用相同的排序規(guī)則:

ALTER DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_german2_ci;

這個(gè)方法直接比較字符的二進(jìn)制值,不受排序規(guī)則影響。

選擇最適合你當(dāng)前情況的方法進(jìn)行處理。

總結(jié)

到此這篇關(guān)于mysql報(bào)錯(cuò)1267 - Illegal mix of collations問(wèn)題解決方法的文章就介紹到這了,更多相關(guān)mysql報(bào)錯(cuò)1267 Illegal mix of collations內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論