在MariaDB中是否有用于重命名索引的语法?我知道MySQL 5.7支持这种语法,但是MariaDB 10.0 (包括MySQL 5.6)支持它吗?
发布于 2019-01-31 19:43:54
我刚刚在MariaDB 10.2.12中尝试了ALTER TABLE thing RENAME INDEX ix_old TO ix_new;,但失败了。
它也不会出现在https://mariadb.com/kb/en/library/alter-table/的文档中
令人费解的是,这个问题的答案在duckduckgo中并不存在!上面写着
否,在当前版本的MySQL (最高5.6)、MariaDB (最高10)或Percona Server (最高5.6)中无法重命名索引。
您只能删除索引并创建不同名称的新索引。
作为一种变通方法,您可以使用pt-online-schema-change添加具有新名称的新索引,并按旧名称删除旧索引,同时允许对原始表进行连续的读/写访问。
$ pt-online-schema-change --alter "ADD KEY new_idx_name,DROP KEY old_idx_name“\ D=mydatabase,t=mytable
--比尔·卡温
但是Bill Karwin对这个问题的编辑仍然存在。嗯,他为什么要删掉呢?
发布于 2020-09-28 20:11:20
他们在10.5.2版本中添加了该选项,但我不确定它是否有效,因为我的服务器中有VS10.3。https://mariadb.com/kb/en/alter-table/#rename-indexkey
我会用更多信息更新它。
https://stackoverflow.com/questions/19797105
复制相似问题