首页 > 解决方案 > 如何更改现有 MySQL 数据库的排序规则?

问题描述

如何更改现有 MySQL 数据库的排序规则?

这是一个 Drupal 8 站点

目前我的数据库使用排序规则 utf8_general_ci

是否可以使用排序规则 utf8mb4_unicode_ci 转换现有数据库?

是否存在损坏数据库的风险?

在此处输入图像描述

编辑

最后,表格的格式为 utf8_general_ci

为什么写在“操作”选项卡utf8_general_ci?

utf8mb4_general_ci 和 utf8mb4_unicode_ci 有什么区别?

目前推荐使用哪种“整理”?

在此处输入图像描述

标签: mysqldatabasephpmyadmin

解决方案


更改数据库的排序规则只会影响您在该数据库中创建的新表,但它很容易做到:从数据库的“操作”选项卡中查找“排序规则”下拉列表:

排序规则下拉

您可以进一步从每个表的“操作”选项卡中更改表级排序规则。

现在,如果您想更改现有数据,那就有点困难了。您可以使用 phpMyAdmin 来执行此操作,但应先备份您的数据库。在表级结构选项卡中,单击“更改”链接以编辑单个列,或从同一列一次编辑多个。在那里,您可以更改现有数据,phpMyAdmin 将尝试对其进行转换。这应该可行,但是在更改排序规则时(特别是当新排序规则中不存在字符时)总是存在数据丢失或损坏的可能性,因此会显示警告:

排序规则转换警告


推荐阅读