簡體   English   中英

排序規則將 utf8mb4_unicode_ci 更改為 utf8mb4_general_ci

[英]Collation change utf8mb4_unicode_ci to utf8mb4_general_ci

對於我的數據庫,我使用utf8mb4_unicode_ciutf8mb4字符集作為默認值。 這是一個錯誤,使用我創建的數據庫的人抱怨排序規則。 我需要將其轉換為utf8mb4_general_ci 我是否能夠僅使用更改語句更改數據庫,例如:

ALTER DATABASE `#{database}` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

或者,即使兩個排序規則之間的字符集相同,我是否需要更改每個單獨的表並處理列? 我似乎無法找到明確的答案......我正在使用 MySQL 5.7.2x。

utf8mb4_unicode_520_ci比你提到的任何一個排序規則都要好。

他們為什么抱怨? 也許JOINs沒有使用索引。 我會和他們爭論應該改變舊表。

ALTER DATABASE只為將來的表設置默認值。 不會做你需要的。

每個表都需要ALTER TABLE... CONVERT TO... 有關類似的ALTER ,請參閱http://mysql.rjweb.org/doc.php/limits#767_limit_in_innodb_indexes 它提供了一種自動生成所有ALTERs的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM