如何更改表的默认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)