Mysql 更改varchar列时出现错误#1064
我使用的是phpmyadmin,当我试图将表的列Mysql 更改varchar列时出现错误#1064,mysql,phpmyadmin,Mysql,Phpmyadmin,我使用的是phpmyadmin,当我试图将表的列说明从varchar(1000)更改为varchar(2000)时,我得到一个错误: #1064-您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解在第1行使用接近“=latin1 COLLATE latin1_swedish_ci NOT NULL”的正确语法 从phpmyadmin自动生成的SQL: ALTER TABLE `showcase` CHANGE `description` `description` VARC
说明从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
命令作为有效命令):
ALTERTABLE语句不正确CHARSET
和COLLATE
不能放入列定义中
参考:
这似乎是针对phpMyAdmin 4.5.4修复的。我建议您更新您的phpMyAdmin(请注意,4.6.0将在未来几天发布),以利用此修复程序和其他修复程序。成功了!想知道为什么phpmyadmin会生成这个。你使用的是哪个版本的phpmyadmin?@IsaacBennetch版本信息:4.5.3.1
ALTER TABLE `showcase`
CHANGE `description` `description` VARCHAR(2000) CHARACTER SET latin1
COLLATE latin1_swedish_ci NOT NULL
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]