繁体   English   中英

更改varchar列时出现错误#1064

[英]Error #1064 when altering varchar column

我正在使用phpmyadmin,当我尝试将表的列description从varchar(1000)更改为varchar(2000)时,出现错误:

#1064-您的SQL语法有误; 检查与您的MySQL服务器版本相对应的手册,以在第1行的'= latin1 COLLATE latin1_swedish_ci NOT NULL'附近使用正确的语法

从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语句不正确。 CHARSETCOLLATE不能放入列定义中。

参考:

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]

这似乎是为phpMyAdmin 4.5.4修复的错误 我建议您更新phpMyAdmin(请注意,在接下来的几天内将发布4.6.0),以利用此修补程序和其他修补程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM