gpt4 book ai didi

mysql - 创建表时每列使用 COLLATE 有什么意义吗?

转载 作者:行者123 更新时间:2023-11-29 05:24:18 27 4
gpt4 key购买 nike

我刚刚导出了一个 MySQL 数据库,以便在另一台服务器上复制它。查看 sql 脚本,我看到以下内容:

CREATE TABLE `X` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
`email` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL
PRIMARY KEY (`id`),
KEY `name_index` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=8366
DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

当为表格设置了 collat​​e 时,我是否需要在每列中使用它?

我认为每个列都有这个的原因是因为我想确保我可以存储 locale 值,例如 æ, ø å

最佳答案

由于您的列级排序规则都是相同的,因此在表级别设置排序规则将具有相同的效果。

请注意,排序规则对您可以存储的内容没有影响;相反,它会影响结果的排序方式。您希望每列使用不同排序规则的唯一原因是,如果您的表包含具有不同区域设置的数据的列,需要不同的排序顺序。

关于mysql - 创建表时每列使用 COLLATE 有什么意义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21915972/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com