首頁  >  文章  >  資料庫  >  為什麼在 CREATE UNIQUE INDEX 語句中使用「VISIBLE」時 MySQL Workbench 會產生語法錯誤?

為什麼在 CREATE UNIQUE INDEX 語句中使用「VISIBLE」時 MySQL Workbench 會產生語法錯誤?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-16 18:55:03390瀏覽

Why does MySQL Workbench generate syntax errors when using

MySQL Workbench 語法錯誤:CREATE UNIQUE INDEX 陳述式中的「VISIBLE」

MySQL Workbench 8.0.12 可能會自動產生「VISIBQUE」的「VISIB完成」的「VISIB.選項,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」自動產生:

    • 編輯>首選項>建模> MySQL
  1. 將「預設目標MySQL 版本」設定為5.7。
這會阻止MySQL Workbench 在CREATE UNIQUE INDEX 語句中自動產生「VISIBLE」 .

替代方案:

如果無法升級🎜>替代方案:

如果無法升級到MySQL 8.0,請手動從CREATE UNIQUE INDEX 語句中刪除「VISIBLE」選項。

以上是為什麼在 CREATE UNIQUE INDEX 語句中使用「VISIBLE」時 MySQL Workbench 會產生語法錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn