这个查询有什么问题?
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;
我不知道为什么。我也遇到了同样的问题。
虽然看起来像:
当从 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
祝你好运!
ALTER TABLE table_name
CHANGE old_column_name1 new_col_name1 Data Type,
CHANGE old_column_name2 new_col_name2 Data Type,
CHANGE old_column_name3 new_col_name3 Data Type;