是否存在在MariaDB中重命名索引的语法?我知道MySQL 5.7支持语法,但MariaDB 10.0(包括MySQL 5.6)是否支持它?
答案 0 :(得分:0)
我刚刚在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)
但是比尔·卡温(Bill Karwin)对问题的编辑仍然存在。嗯,他为什么要删除它?
答案 1 :(得分:0)
他们在10.5.2版中添加了该选项,但是我不确定它是否有效,因为我的服务器中有vs 10.3。 https://mariadb.com/kb/en/alter-table/#rename-indexkey
我将使用更多信息对其进行更新。