我正在使用maria db。當我嘗試使用在線ddl選項(lock = none,Algorithm = inplace)刪除索引時,出現語法錯誤。 DROP INDEX idx_new ON posts ALGORITHM = INPLACE LOCK = NONE; 錯誤1064(42000):您的SQL語法錯誤;檢查與你的MariaDB服務器版本相對應的手冊,在第1行的'ALGORITHM = INPLACE LOCK = NONE'附近使用正確的語法。mariadb在線丟棄索引不起作用
據我瞭解文檔,最新的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
我的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(續集專業版),它讓我在標題(MySQL的5.5.5 - 10.2.5-MariaDB的)。
難道還有一些來自MySQL 5.5.5的工件嗎?
MariaDB 10.2.5不能在線運行DROP INDEX嗎?
你想要刪除索引,爲什麼要指定算法? –
向我們展示整個'ALTER'語句。或許「算法」條款不在正確的位置。 –
添加了ALTER語句 – Alex