2017-04-24 113 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