首页 >数据库 >mysql教程 >为什么我在 CREATE UNIQUE INDEX 语句中出现'VISIBLE”语法错误?

为什么我在 CREATE UNIQUE INDEX 语句中出现'VISIBLE”语法错误?

Susan Sarandon
Susan Sarandon原创
2024-11-19 01:32:02834浏览

Why Am I Getting a Syntax Error with

MySQL Workbench:CREATE UNIQUE INDEX 语句中的 VISIBLE 出现语法错误

使用 MySQL Workbench 时出现错误消息“Syntax error close 'VISIBLE' at line 1”自动生成的 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'

解决方案:

要解决此问题,您有两个选择:

  1. 在 MySQL Workbench 中禁用 VISIBLE 选项: 在 MySQL Workbench 中,转到编辑>首选项>建模> MySQL 并将“默认目标 MySQL 版本”设置为 5.7。这将阻止 MySQL Workbench 自动生成 VISIBLE 选项。
  2. 升级 MySQL 服务器:如果您希望使用 VISIBLE 选项,请考虑将 MySQL 服务器升级到版本 8.0 或更高版本。

以上是为什么我在 CREATE UNIQUE INDEX 语句中出现'VISIBLE”语法错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn