create table sql中的命令感知

时间:2014-03-16 17:39:35

标签: mysql sql

我理解命令collate的功能(一点点)。事实上,我没有测试是否可以在一个数据库中包含各种排序规则(甚至是各种字符集)的表格。

但是我发现(至少在phpmyadmin中)当我创建任何数据库时,我设置了它的字符集和排序规则 - 如果我在CREATE TABLE ...中错过了这个命令,那么在创建数据库时会自动设置排序规则集

所以,我的问题是:collate的sql中存在命令CREATE TABLE ...的存在感,如果它可能在那里丢失 - 并且建议在CREATE TABLE ...中进行整理或者是{{1}}这无关紧要?

1 个答案:

答案 0 :(得分:1)

在SQL Server中,如果未指定COLLATE,则默认为DB设置为的内容。因此没有指定的危险。

在MySQL中,行为是一样的:

  

表格字符集和排序规则用作默认值   列定义,如果列字符集和排序规则不是   在各列定义中指定。 MySQL Reference

仅在您要指定非默认值时使用自动分页。如果您使用的只是英文字符集而不是您无需担心它。如果存储多种语言的数据而不是指定特定的排序规则,以确保正确存储哪些字符。