首页 > 解决方案 > 在开始新的更改操作之前缺少逗号。(靠近“字符集”)

问题描述

mysql - phpmyadmin

这个查询有什么问题?

ALTER TABLE `invoices` 
CHANGE `status` `status` ENUM('paid','due','canceled','partial','cheque') 
CHARACTER SET `utf8` COLLATE `utf8_general_ci` NOT NULL DEFAULT `due`;

我收到此错误:

在开始新的更改操作之前缺少逗号。(靠近“字符集”)并且无法在实时服务器上运行此查询。当我在开发期间更改本地主机上的表结构时生成了查询。

我还尝试了许多线程中提到的以下查询,但它也给出了相同的上述错误:

ALTER TABLE `invoices` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

标签: mysqlsqldatabasephpmyadmin

解决方案


我不确定为什么。我也面临同样的问题。

虽然它看起来像:

当从 SQL 中删除 CHARACTER 和 COLLATE 部分时,解析器工作正常。

IE

ALTER TABLE `place` CHANGE COLUMN `plc_location_type` `gplc_location_type` ENUM('LOCATION') CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL;

ALTER TABLE `place` CHANGE COLUMN `plc_location_type` `gplc_location_type` ENUM('LOCATION') NOT NULL;

参考:
https ://github.com/phpmyadmin/sql-parser/issues/229

祝你好运!


推荐阅读