CREATE UNIQUE INDEX ステートメントで「VISIBLE」を使用すると、MySQL Workbench が構文エラーを生成するのはなぜですか?

Mary-Kate Olsen
リリース: 2024-11-16 18:55:03
オリジナル
392 人が閲覧しました

Why does MySQL Workbench generate syntax errors when using

MySQL Workbench 構文エラー: CREATE UNIQUE INDEX ステートメントの 'VISIBLE'

MySQL Workbench 8.0.12 では、'VISIBLE' を含む CREATE UNIQUE INDEX ステートメントが自動生成される場合があります。このオプションは MySQL Server 5.7 ではサポートされていません。この非互換性により、構文エラーが発生します。

問題ステートメント

CREATE UNIQUE INDEX ステートメントで VISIBLE を使用して一意のインデックスを作成すると、エラーが発生します。例:

CREATE UNIQUE INDEX `name_UNIQUE` ON `setting` (`code` ASC) VISIBLE;
ログイン後にコピー

MySQL Server 5.7 は次のエラーを返します:

Error in query (1064): Syntax error near 'VISIBLE' at line 1
ログイン後にコピー

原因

構文の違いは、MySQL のバージョンが異なることに起因します。 MySQL 8.0 以降では、CREATE UNIQUE INDEX の構文に「VISIBLE」または「INVISIBLE」オプションが含まれます。ただし、MySQL 5.7 では、このオプションはサポートされていません。

解決策

MySQL Workbench で 'VISIBLE' の自動生成を無効にします:

  1. MySQL Workbench で、以下に移動しますへ:

    • 編集 >設定 >モデリング> MySQL
  2. 「デフォルトのターゲット MySQL バージョン」を 5.7 に設定します。

これにより、MySQL Workbench が CREATE UNIQUE INDEX で「VISIBLE」を自動生成しなくなります。

代替:

MySQL 8.0 にアップグレードできない場合は、CREATE UNIQUE INDEX ステートメントから 'VISIBLE' オプションを手動で削除します。

以上がCREATE UNIQUE INDEX ステートメントで「VISIBLE」を使用すると、MySQL Workbench が構文エラーを生成するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート