1

我正在转换一个现有的表,例如:

CREATE TABLE `example`(`id` int(10) unsigned NOT NULL AUTO_INCREMENT, 
                       `column1` char(32) COLLATE latin1_general_ci NOT NULL 
                           DEFAULT '',   
                       `column2` char(64) COLLATE latin1_general_ci NOT NULL 
                           DEFAULT '',
                       PRIMARY KEY (`id`)) 
              ENGINE=MyISAM AUTO_INCREMENT=1 
              DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

使用以下命令转为 utf8:

ALTER TABLE example CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

这似乎工作正常,但结果表不包含任何排序规则信息:

CREATE TABLE `example` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
                        `column1` char(32) NOT NULL DEFAULT '',
                        `column2` char(64) NOT NULL DEFAULT '',
                        PRIMARY KEY (`id`)
                        ) ENGINE=MyISAM DEFAULT CHARSET=utf8

所以我的问题是,缺少整理信息会是个问题吗?我搜索了谷歌,但在任何地方都找不到提到这一点。我对 collat​​e 标志的理解非常基本(我认为在比较字符串函数中的字符时它在某种程度上很重要?)

谢谢

4

1 回答 1

2

字符集的默认排序规则是,因此它不显示它。utf8utf8_general_ci

于 2009-11-14T11:59:44.757 回答