アプリケーション開発ポータルサイト
ServerNote.NET
カテゴリー【MySQLUbuntuCentOS
MariaDBでFunction 'ngram' is not definedと言われる場合
POSTED BY
2023-05-30

MySQLダンプ→MariaDBに移行しようとしたら出たエラー。

Stack Overflowに同種の質問があった。

https://stackoverflow.com/questions/25416423/fulltext-indexes-in-mariadb-10

CREATE TABLE構文のなかでFULLTEXT KEYの同時定義をしてはダメだそうだ。

CREATE TABLE test (
no INT2 NOT NULL,
name TEXT NOT NULL,
body TEXT NOT NULL,
PRIMARY KEY (no),
FULLTEXT KEY `name` (name),
FULLTEXT KEY `body` (body)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

ではダメで、

CREATE TABLE test (
no INT2 NOT NULL,
name TEXT NOT NULL,
body TEXT NOT NULL,
PRIMARY KEY (no)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

ALTER TABLE test ADD FULLTEXT KEY `name` (name);
ALTER TABLE test ADD FULLTEXT KEY `body` (body);

とすれば解決する。

※本記事は当サイト管理人の個人的な備忘録です。本記事の参照又は付随ソースコード利用後にいかなる損害が発生しても当サイト及び管理人は一切責任を負いません。
※本記事内容の無断転載を禁じます。
【WEBMASTER/管理人】
自営業プログラマーです。お仕事ください!
ご連絡は以下アドレスまでお願いします★

【キーワード検索】