更改 varchar 列时出现错误 #1064
Error #1064 when altering varchar column
我正在使用 phpmyadmin,当我尝试将 table 的列 description
从 varchar(1000) 更改为 varchar(2000) 时,出现错误:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '=latin1 COLLATE latin1_swedish_ci NOT NULL' at line 1
phpmyadmin自动生成的SQL:
ALTER TABLE `showcase`
CHANGE `description` `description` VARCHAR(2000) CHARSET=latin1
COLLATE latin1_swedish_ci NOT NULL;
使用以下查询仅更改 VARCHAR
的长度:
ALTER TABLE `showcase` MODIFY `description` VARCHAR(2000);
如果你也想设置字符集,你可以使用下面的查询(你的ALTER
命令作为有效命令):
ALTER TABLE `showcase`
CHANGE `description` `description` VARCHAR(2000) CHARACTER SET latin1
COLLATE latin1_swedish_ci NOT NULL
ALTER TABLE 语句不正确。 CHARSET
和 COLLATE
不能放入列定义中。
参考:
http://dev.mysql.com/doc/refman/5.7/en/alter-table.html
http://dev.mysql.com/doc/refman/5.7/en/create-table.html
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]
这在 be a bug 看来已针对 phpMyAdmin 4.5.4 修复。我建议您更新 phpMyAdmin(注意 4.6.0 将在接下来的几天内发布)以利用此修复和其他修复。
我正在使用 phpmyadmin,当我尝试将 table 的列 description
从 varchar(1000) 更改为 varchar(2000) 时,出现错误:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '=latin1 COLLATE latin1_swedish_ci NOT NULL' at line 1
phpmyadmin自动生成的SQL:
ALTER TABLE `showcase`
CHANGE `description` `description` VARCHAR(2000) CHARSET=latin1
COLLATE latin1_swedish_ci NOT NULL;
使用以下查询仅更改 VARCHAR
的长度:
ALTER TABLE `showcase` MODIFY `description` VARCHAR(2000);
如果你也想设置字符集,你可以使用下面的查询(你的ALTER
命令作为有效命令):
ALTER TABLE `showcase`
CHANGE `description` `description` VARCHAR(2000) CHARACTER SET latin1
COLLATE latin1_swedish_ci NOT NULL
ALTER TABLE 语句不正确。 CHARSET
和 COLLATE
不能放入列定义中。
参考:
http://dev.mysql.com/doc/refman/5.7/en/alter-table.html http://dev.mysql.com/doc/refman/5.7/en/create-table.html
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]
这在 be a bug 看来已针对 phpMyAdmin 4.5.4 修复。我建议您更新 phpMyAdmin(注意 4.6.0 将在接下来的几天内发布)以利用此修复和其他修复。