如何更改表的默认排序规则?

15 浏览
0 Comments

如何更改表的默认排序规则?

create table check2(f1 varchar(20),f2 varchar(20));

创建一个带有默认排序规则 latin1_general_ci 的表;

alter table check2 collate latin1_general_cs;
show full columns from check2;

显示列的单独排序规则为 \'latin1_general_ci\'。

那么 alter table 命令会产生什么影响?

admin 更改状态以发布 2023年5月25日
0
0 Comments

MySQL有4个排序级别:服务器,数据库,表,列。
如果您更改服务器,数据库或表格的排序,您不会更改每个列的设置,但是您会更改默认排序。

例如,如果您更改数据库的默认排序,那么您在该数据库中创建的每个新表都将使用该排序方式,如果您更改表格的默认排序,那么您在该表格中创建的每个列都将得到该排序。

0
0 Comments

更改表的默认字符集和校对规则,包括现有列的字符集和校对规则(注意转换为子句):

alter table  convert to character set utf8mb4 collate utf8mb4_unicode_ci;

按照一些评论的提示编辑了答案:

不应该推荐utf8,它几乎从来不是你想要的,而且经常会导致意外的混乱。utf8字符集与UTF-8不完全兼容。如果想要UTF-8,应该使用utf8mb4字符集。-Rich Remer 2018年3月28日23:41

这似乎非常重要,很高兴看到评论并感谢RichRemer。Nikki,考虑到这得到了多少观点,我认为你应该在回答中进行编辑。请参见这里https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-utf8.html和这里MySQL的utf8mb4和utf8字符集之间有什么区别?–Paulpro 3月12日17:46

0