MySQL合并移除分区与设置行格式的ALTER TABLE语句报错求助
解决MySQL合并ALTER TABLE语句报错的问题
问题原因
MySQL语法规则中,REMOVE PARTITIONING属于分区管理类的ALTER操作,不能与表选项修改(如ROW_FORMAT)通过逗号直接并列在同一条ALTER TABLE语句中,这就是你执行合并语句时报错的核心原因。
正确处理方式
这两个操作无法合并为单条ALTER TABLE语句,需分两次执行原语句:
ALTER TABLE a REMOVE PARTITIONING; ALTER TABLE a ROW_FORMAT = COMPRESSED;
如果需要保证操作的原子性(仅适用于InnoDB等支持事务的存储引擎),可以将两条语句放在同一个事务中执行:
START TRANSACTION; ALTER TABLE a REMOVE PARTITIONING; ALTER TABLE a ROW_FORMAT = COMPRESSED; COMMIT;
内容的提问来源于stack exchange,提问作者qq77273364
相关产品推荐
相关产品推荐

