Ale*_*ley 7 mysql collation mysql-5.5
我刚看到MySQL 5.5提供utf8_general_mysql500_ci了整理.
与其他校对有什么区别utf8_general_ci?
我应该更好用utf8_general_mysql500_ci吗?
新
utf8_general_mysql500_ci和ucs2_general_mysql500_ci归类已添加该保留的行为utf8_general_ci,并ucs2_general_ci从以前到5.1.24的MySQL版本.错误#27877更正了原始排序规则中的错误,但为包含德语'ß'LATIN SMALL LETTER SHARP S的列引入了不兼容性.(作为修复的结果,该字符比较等于与之前比较的字符不同.)症状从5.1.24版本升级到MySQL 5.1.24或更新版本后出现的问题是CHECK TABLE产生此错误:Table upgrade required. Please do "REPAIR TABLE `t`" or dump/reload to fix it!不幸的是,
REPAIR TABLE无法解决问题.新的排序规则允许在MySQL 5.1.24之前创建的旧表升级到当前版本的MySQL.要在保留表文件的二进制升级后转换受影响的表,请更改表以使用新的排序规则.假设该表
t1包含一个或多个有问题的utf8列.要在表级转换表,请使用如下语句:Run Code Online (Sandbox Code Playgroud)ALTER TABLE t1 CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_mysql500_ci;要在特定于列的基础上应用更改,请使用这样的语句(确保重复最初指定的列定义,但
COLLATE子句除外):Run Code Online (Sandbox Code Playgroud)ALTER TABLE t1 MODIFY c1 CHAR(N) CHARACTER SET utf8 COLLATE utf8_general_mysql500_ci;要使用转储和重新加载过程升级表,请使用mysqldump转储表,修改
CREATE TABLE转储文件中的语句以使用新的排序规则,然后重新加载表.进行适当的更改后,
CHECK TABLE应报告没有错误.有关更多信息,请参阅检查是否必须重建表或索引,以及重建或修复表或索引.(Bug#43593,Bug#11752408)