ホームページ >データベース >mysql チュートリアル >CREATE UNIQUE INDEX ステートメントの「VISIBLE」で構文エラーが発生するのはなぜですか?

CREATE UNIQUE INDEX ステートメントの「VISIBLE」で構文エラーが発生するのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-19 01:32:02787ブラウズ

Why Am I Getting a Syntax Error with

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

MySQL Workbench を使用すると、エラー メッセージ「行 1 の 'VISIBLE' 付近の構文エラー」が発生する自動生成された CREATE UNIQUE INDEX ステートメント。この問題は、MySQL サーバーのバージョン間の構文の違いに起因します。

原因:

MySQL Workbench 8.0.12 は、VISIBLE オプションを使用して CREATE UNIQUE INDEX ステートメントを自動生成します。 、MySQL サーバー バージョン 8.0 と互換性があります。ただし、以前のバージョンの MySQL (5.7 など) を使用している場合、このオプションは認識されず、構文エラーが発生します。

構文の違い:

MySQL サーバー バージョン 8.0 では、CREATE INDEX の構文に VISIBLE インデックス オプションが含まれています:

CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX index_name
    [index_type]
    ON tbl_name (key_part,...)
    [index_option]
    [algorithm_option | lock_option] ...

index_option:
    KEY_BLOCK_SIZE [=] value
  | index_type
  | WITH PARSER parser_name
  | COMMENT 'string'
  | {VISIBLE | INVISIBLE}

MySQL サーバー バージョン 5.7 では、この VISIBLE オプションは使用できません:

CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX index_name
    [index_type]
    ON tbl_name (key_part,...)
    [index_option]
    [algorithm_option | lock_option] ...

index_option:
    KEY_BLOCK_SIZE [=] value
  | index_type
  | WITH PARSER parser_name
  | COMMENT 'string'

解決策:

問題を解決するには、2 つのオプションがあります:

  1. MySQL Workbench で VISIBLE オプションを無効にする: MySQL Workbench で、次の場所に移動します。編集 >設定 >モデリング> MySQL を選択し、「デフォルトのターゲット MySQL バージョン」を 5.7 に設定します。これにより、MySQL Workbench が VISIBLE オプションを自動生成できなくなります。
  2. MySQL サーバーのアップグレード: VISIBLE オプションを使用したい場合は、MySQL サーバーをバージョン 8.0 以降にアップグレードすることを検討してください。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。