如何在不转换列的情况下更改 MySQL 中的表(默认)排序规则[重复]
Posted
技术标签:
【中文标题】如何在不转换列的情况下更改 MySQL 中的表(默认)排序规则[重复]【英文标题】:How to change table (default) collation in MySQL WITHOUT converting the columns [duplicate] 【发布时间】:2016-11-07 08:36:52 【问题描述】:在 mysql 表上更改排序规则的常用方法是:
ALTER TABLE <table_name> CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
我想要做的是更改表默认排序规则而不更改现有的列排序规则。我怎样才能做到这一点?
【问题讨论】:
ALTER TABLE tbl_name [[DEFAULT] CHARACTER SET charset_name] [COLLATE collation_name]
只需省略 CONVERT TO
部分并设置表格的字符集。现有列将不会被转换。参考:dev.mysql.com/doc/refman/5.7/en/charset-table.html
Grrr... 这不是一个重复。这将讨论 table 的 default。另一个谈论混乱的角色(尽管标题是这样说的)。
【参考方案1】:
ALTER TABLE
有两种不同的方法来更改表的字符集。问题中提到的是将所有基于字符的列转换为给定的字符集。
设置表DEFAULT
字符集不会改变现有列的字符集。
ALTER TABLE tbl_name
[[DEFAULT] CHARACTER SET charset_name]
[COLLATE collation_name]
相关文档条目:
http://dev.mysql.com/doc/refman/5.7/en/alter-table.html http://dev.mysql.com/doc/refman/5.7/en/charset-table.html
【讨论】:
以上是关于如何在不转换列的情况下更改 MySQL 中的表(默认)排序规则[重复]的主要内容,如果未能解决你的问题,请参考以下文章