我正在MySQL中编写一组SQL语句来创建和修改几个表。我需要让我的输出完全匹配样本输出的文档(这是为了学校)。
当我显示我的create table语句时,所有varchar列都需要如下所示:
`name` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL,
但他们没有显示整理。我尝试将声明更改为
name varchar COLLATE utf8_unicode_ci DEFAULT NULL,
但是这导致输出显示字符集和排序规则,我需要显示排序规则。示例输出文档是在Unix上创建的,而我在Windows上,所以这可能是差异的根源,但我需要确定。
有没有办法可以改变我的查询以显示排序规则,还是这只是Unix Windows的不一致?
答案 0 :(得分:1)
说实话,我非常怀疑有人打算让你获得相同的输出 verbatem - 他们更有可能要求它们在语义上相同。但是,您可以使用表的默认字符集/排序规则来查看是否会对从SHOW CREATE TABLE
获得的输出产生影响:
ALTER TABLE foo CHARACTER SET utf8 COLLATE ut8_bin;
如果不这样,它可能是MySQL版本之间的差异。