2017-04-24 82 views
0

我想设置我行字符集为UTF8一般或Unicode(无论我想;-))MySQL的组行字符集

有以下MySQL代码:

ALTER TABLE `pdo_test` CHANGE `pdo_text` CHARACTER SET utf8 COLLATE utf8_general_ci; 

然而这是错误的。

下面是正确的:

ALTER TABLE `pdo_test` CHANGE `pdo_text` `pdo_text` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL; 

但是后来我需要知道其他许多子信息。像字段类型(VARCHAR(255),NULL等等)

难道它不就像我想要的例子那么简短吗?

ALTER TABLE `pdo_test` CHANGE `pdo_text` CHARACTER SET utf8 COLLATE `utf8_general_ci;` 
+0

什么'CHARACTER SET'是目前_columns_?你有表中的数据_already_?这些数据是否是非英语的? _我问这些,因为有不同的情况下需要不同的技术。_ –

回答

0

ALTER TABLE变化的条款column_definition 这是指CREATE TABLE column_definition

column_definition: 
    data_type [NOT NULL | NULL] [DEFAULT default_value] 
     [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY] 
     [COMMENT 'string'] 
     [COLUMN_FORMAT {FIXED|DYNAMIC|DEFAULT}] 
     [STORAGE {DISK|MEMORY|DEFAULT}] 
     [reference_definition] 
    | data_type [GENERATED ALWAYS] AS (expression) 
     [VIRTUAL | STORED] [UNIQUE [KEY]] [COMMENT comment] 
     [NOT NULL | NULL] [[PRIMARY] KEY] 

由此我们可以说,DATA_TYPE是强制性参数。查询必须是这样的:

ALTER TABLE `pdo_test` CHANGE `pdo_text` `pdo_text` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci... 

CREATE TABLE Syntax.

+0

太糟糕了,它必须是这样的。但非常感谢您的广泛解释! –

+0

你可以简单地在GUI对象编辑器中完成,看看 - [dbForge Studio for MySQL](http://www.devart.com/dbforge/mysql/studio/)。尝试免费快递版。 – Devart