我理解命令collate
的功能(一点点)。事实上,我没有测试是否可以在一个数据库中包含各种排序规则(甚至是各种字符集)的表格。
但是我发现(至少在phpmyadmin中)当我创建任何数据库时,我设置了它的字符集和排序规则 - 如果我在CREATE TABLE ...
中错过了这个命令,那么在创建数据库时会自动设置排序规则集
所以,我的问题是:collate
的sql中存在命令CREATE TABLE ...
的存在感,如果它可能在那里丢失 - 并且建议在CREATE TABLE ...
中进行整理或者是{{1}}这无关紧要?
答案 0 :(得分:1)
在SQL Server中,如果未指定COLLATE
,则默认为DB设置为的内容。因此没有指定的危险。
在MySQL中,行为是一样的:
表格字符集和排序规则用作默认值 列定义,如果列字符集和排序规则不是 在各列定义中指定。 MySQL Reference
仅在您要指定非默认值时使用自动分页。如果您使用的只是英文字符集而不是您无需担心它。如果存储多种语言的数据而不是指定特定的排序规则,以确保正确存储哪些字符。