我想将我的行字符集设置为UTF8 general或unicode(无论我想要什么;-))
拥有以下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 :(得分:0)
ALTER TABLE CHANGE有一个 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...