gpt4 book ai didi

mysql - mariadb 在线删除索引不起作用

转载 作者:行者123 更新时间:2023-11-28 23:16:23 25 4
gpt4 key购买 nike

我正在使用 maria 数据库。当我尝试使用在线 ddl 选项(lock=none,Algorithm=inplace)删除索引时,出现语法错误。 DROP INDEX idx_new 在帖子上 ALGORITHM=INPLACE LOCK=NONE; ERROR 1064 (42000): 你的 SQL 语法有错误;检查与您的 MariaDB 服务器版本对应的手册,了解在第 1 行的“ALGORITHM=INPLACE LOCK=NONE”附近使用的正确语法

据我了解文档,最新的mariadb应该可以在线运行那些DDL。

我试过这个 ddl:

DROP INDEX idx_new ON posts ALGORITHM=INPLACE LOCK=NONE;

还有那些:

DROP INDEX idx_new ON posts LOCK=NONE ALGORITHM=INPLACE;
DROP INDEX idx_new ON posts LOCK=NONE;

这里是一些背景信息:

OS: macOS Sierra 10.12.3

我通过 brew 安装了 mysql(我不记得版本),然后用 mariadb 替换它(也通过 brew 卸载和安装)。

> mysql --version
mysql Ver 15.1 Distrib 10.2.5-MariaDB, for osx10.12 (x86_64) using readline 5.1

奇怪的是:当我使用我的 sql ui (Sequel Pro) 时,它在标题中显示我 (MySQL 5.5.5 - 10.2.5-MariaDB)。

MySQL 5.5.5 中是否还有一些遗留问题?

MariaDB 10.2.5 应该不能在线运行 DROP INDEX 吗?

最佳答案

DROP INDEX 中的语法错误是一个已知错误 https://jira.mariadb.org/browse/MDEV-12572 , 语法缺陷。解决方法是通过一般的 ALTER 语句来完成:

ALTER TABLE posts DROP INDEX idx_new, ALGORITHM=INPLACE, LOCK=NONE;

关于 5.5.5 前缀——这不是 5.5 工件的指示。该前缀与 10.x 发布版本行一起引入,以处理服务器和客户端不将 10.x 识别为有效版本并拒绝与其通信的问题(有关详细信息,请参阅 https://jira.mariadb.org/browse/MDEV-4088)。

MariaDB 服务器和客户端会去除前缀,但第三方应用程序不会。

关于mysql - mariadb 在线删除索引不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43750390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com