在CREATE TABLE中的每一列之后是否需要COLLATE语句?

时间:2013-03-05 03:49:30

标签: mysql sql phpmyadmin

如果我的表在utf8_unicode_ci排序规则中,phpMyAdmin会生成如下所示的SQL代码:

CREATE TABLE `table_name` (
  `id` int(10) unsigned AUTO_INCREMENT,
  `name` varchar(30) COLLATE utf8_unicode_ci,
  `other_varchar_column` varchar(40) COLLATE utf8_unicode_ci,
  PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;

这似乎是很多charset声明。我是否可以省略每列末尾的那些,因为charset也设置在CREATE TABLE的末尾?

2 个答案:

答案 0 :(得分:0)

不需要。工具生成的代码通常过于冗长。

http://dev.mysql.com/doc/refman/5.1/en/create-table.html

答案 1 :(得分:0)

回答我想对所有字符类型数据varchar,nvarchar等都是。