如何更改表的默认sorting规则?

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

使用默认sorting规则创build一个表latin1_general_ci ;

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

显示列的个别sorting规则为“latin1_general_ci”。

那么alter table命令的作用是什么?

若要更改包括现有列的表的默认字符集和sorting规则(请注意convert to子句):

 alter table <some_table> convert to character set utf8 collate utf8_unicode_ci; 

MySQL有4个级别的sorting规则:服务器,数据库,表,列。 如果更改服务器,数据库或表的sorting规则,则不会更改每列的设置,但可以更改默认sorting规则。

例如,如果更改数据库的默认sorting规则,则在该数据库中创build的每个新表都将使用该sorting规则,并且如果更改了表的默认sorting规则,则在该表中创build的每个列都将得到该sorting规则。

它为表设置默认的sorting规则; 如果你创build一个新的列,应该整理latin_general_ci – 我想。 尝试指定个别列的sorting规则,看看是否有效。 MySQL在处理这个方面有一些非常奇怪的行为。

可能需要更改SCHEMA不仅表格

ALTER SCHEMA <table name> DEFAULT CHARACTER SET UTF8 DEFAULT COLLATE utf8_general_ci;

(mariaDB 10)