开始新的变更操作之前缺少逗号。 (在“字符集”附近)

时间:2019-07-26 13:17:33

标签: mysql sql database phpmyadmin

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操作之前缺少逗号。 (“ CHARACTER SET”附近),并且无法在实时服务器上运行此查询。在开发过程中更改本地主机上的表结构时生成查询。

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

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

1 个答案:

答案 0 :(得分:0)

不知道为什么。我还遇到了相同问题。

虽然看起来像:

  

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

之前

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

祝你好运!