<tfoot id='l9OCm'></tfoot>
      1. <small id='l9OCm'></small><noframes id='l9OCm'>

        <legend id='l9OCm'><style id='l9OCm'><dir id='l9OCm'><q id='l9OCm'></q></dir></style></legend>
          <bdo id='l9OCm'></bdo><ul id='l9OCm'></ul>
        <i id='l9OCm'><tr id='l9OCm'><dt id='l9OCm'><q id='l9OCm'><span id='l9OCm'><b id='l9OCm'><form id='l9OCm'><ins id='l9OCm'></ins><ul id='l9OCm'></ul><sub id='l9OCm'></sub></form><legend id='l9OCm'></legend><bdo id='l9OCm'><pre id='l9OCm'><center id='l9OCm'></center></pre></bdo></b><th id='l9OCm'></th></span></q></dt></tr></i><div id='l9OCm'><tfoot id='l9OCm'></tfoot><dl id='l9OCm'><fieldset id='l9OCm'></fieldset></dl></div>

        MySQL 工作台:查询错误 (1064):第 1 行“可见"附近的语法错误

        时间:2023-05-24
        <legend id='ohLMT'><style id='ohLMT'><dir id='ohLMT'><q id='ohLMT'></q></dir></style></legend>
          <bdo id='ohLMT'></bdo><ul id='ohLMT'></ul>

                <tbody id='ohLMT'></tbody>

              <small id='ohLMT'></small><noframes id='ohLMT'>

                <tfoot id='ohLMT'></tfoot>
                1. <i id='ohLMT'><tr id='ohLMT'><dt id='ohLMT'><q id='ohLMT'><span id='ohLMT'><b id='ohLMT'><form id='ohLMT'><ins id='ohLMT'></ins><ul id='ohLMT'></ul><sub id='ohLMT'></sub></form><legend id='ohLMT'></legend><bdo id='ohLMT'><pre id='ohLMT'><center id='ohLMT'></center></pre></bdo></b><th id='ohLMT'></th></span></q></dt></tr></i><div id='ohLMT'><tfoot id='ohLMT'></tfoot><dl id='ohLMT'><fieldset id='ohLMT'></fieldset></dl></div>
                2. 本文介绍了MySQL 工作台:查询错误 (1064):第 1 行“可见"附近的语法错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  限时送ChatGPT账号..

                  任何想法为什么下面的 VISIBLE 会导致问题?

                  Any ideas why VISIBLE below is causing an issue?

                  CREATE TABLE IF NOT EXISTS `setting` (
                    `uuid` INT(10) NOT NULL,
                    `type` VARCHAR(255) NOT NULL,
                    `code` VARCHAR(255) NOT NULL COMMENT 'An unique name.',
                    `value` MEDIUMTEXT NULL DEFAULT NULL,
                    `comment` LONGTEXT NULL DEFAULT NULL,
                    `created_on` INT UNSIGNED NOT NULL,
                    `updated_on` INT UNSIGNED NOT NULL,
                    PRIMARY KEY (`uuid`))
                  ENGINE = MyISAM
                  DEFAULT CHARACTER SET = utf8;
                  
                  CREATE UNIQUE INDEX `name_UNIQUE` ON `setting` (`code` ASC) VISIBLE;
                  
                  CREATE UNIQUE INDEX `uuid_UNIQUE` ON `setting` (`uuid` ASC) VISIBLE;
                  

                  错误:

                  CREATE UNIQUE INDEX name_UNIQUE ON setting (code ASC) VISIBLE查询错误 (1064):第 1 行可见"附近的语法错误

                  CREATE UNIQUE INDEX name_UNIQUE ON setting (code ASC) VISIBLE Error in query (1064): Syntax error near 'VISIBLE' at line 1

                  CREATE UNIQUE INDEX uuid_UNIQUE ON setting (uuid ASC) VISIBLE查询错误 (1064):第 1 行可见"附近的语法错误

                  CREATE UNIQUE INDEX uuid_UNIQUE ON setting (uuid ASC) VISIBLE Error in query (1064): Syntax error near 'VISIBLE' at line 1

                  如果我删除 VISIBLE 不会出错,但 MySQL Workbench 8.0.12 会自动生成.如何阻止 MySQL Workbench 这样做?

                  No error if I remove VISIBLE but MySQL Workbench 8.0.12 auto generates that. How can I stop MySQL Workbench from doing that?

                  我的 Ubuntu 18.04 中的 MySQL 信息:

                  My MySQL info in my Ubuntu 18.04:

                  MySQL 版本:5.7.23-0ubuntu0.18.04.1 通过 PHP 扩展 MySQLi

                  MySQL version: 5.7.23-0ubuntu0.18.04.1 through PHP extension MySQLi

                  推荐答案

                  这里的问题是不同 MySQL 服务器版本的语法差异.MySQL Workbench 8.0.12 似乎正在为 MySQL 服务器 8.0 版 自动生成 CREATE UNIQUE INDEX 语句.

                  The problem here is the difference in syntax across different MySQL server versions. It seems that MySQL Workbench 8.0.12 is auto-generating CREATE UNIQUE INDEX statement for the MySQL server version 8.0.

                  从 MySQL Server 8.0 文档,CREATE INDEX 的语法是:

                  CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX index_name
                      [index_type]
                      ON tbl_name (key_part,...)
                      [index_option]
                      [algorithm_option | lock_option] ...
                  
                  key_part: {col_name [(length)] | (expr)} [ASC | DESC]
                  
                  index_option:
                      KEY_BLOCK_SIZE [=] value
                    | index_type
                    | WITH PARSER parser_name
                    | COMMENT 'string'
                    | {VISIBLE | INVISIBLE}  /* Notice the option of VISIBLE / INVISIBLE */
                  
                  index_type:
                    USING {BTREE | HASH}
                  

                  然而,{VISIBLE |的这个选项INVISIBLE}MySQL Server 5.7 中不可用.来自文档:

                  However, this option of {VISIBLE | INVISIBLE} is not available in the MySQL Server 5.7. From Docs:

                  CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX index_name
                      [index_type]
                      ON tbl_name (key_part,...)
                      [index_option]
                      [algorithm_option | lock_option] ...
                  
                  key_part:
                      col_name [(length)] [ASC | DESC]
                  
                  index_option:
                      KEY_BLOCK_SIZE [=] value
                    | index_type
                    | WITH PARSER parser_name
                    | COMMENT 'string'   /* No option of VISIBLE / INVISIBLE */
                  
                  index_type:
                      USING {BTREE | HASH}
                  

                  <小时>

                  如果您不打算升级到最新版本的 MySQL;您可以使用 VISIBLE/INVISIBLE 索引禁用此自动生成功能:


                  If you are not looking to upgrade to latest version of MySQL; you can disable this feature of auto-generating with VISIBLE / INVISIBLE index:

                  在 MySQL 工作台中:

                  In MySQL Workbench:

                  前往:

                  编辑 > 首选项 > 建模 > MySQL.

                  Edit > Preferences > Modeling > MySQL.

                  然后,将默认目标 MySQL 版本"设置为 5.7

                  Then, set the "Default Target MySQL Version" to 5.7

                  检查下面的屏幕截图:

                  这篇关于MySQL 工作台:查询错误 (1064):第 1 行“可见"附近的语法错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:从表中删除重复的行 下一篇:根据 MySQL 中的多列确定排名

                  相关文章

                  <tfoot id='k6Zqx'></tfoot>

                  <small id='k6Zqx'></small><noframes id='k6Zqx'>

                3. <i id='k6Zqx'><tr id='k6Zqx'><dt id='k6Zqx'><q id='k6Zqx'><span id='k6Zqx'><b id='k6Zqx'><form id='k6Zqx'><ins id='k6Zqx'></ins><ul id='k6Zqx'></ul><sub id='k6Zqx'></sub></form><legend id='k6Zqx'></legend><bdo id='k6Zqx'><pre id='k6Zqx'><center id='k6Zqx'></center></pre></bdo></b><th id='k6Zqx'></th></span></q></dt></tr></i><div id='k6Zqx'><tfoot id='k6Zqx'></tfoot><dl id='k6Zqx'><fieldset id='k6Zqx'></fieldset></dl></div>
                4. <legend id='k6Zqx'><style id='k6Zqx'><dir id='k6Zqx'><q id='k6Zqx'></q></dir></style></legend>
                      <bdo id='k6Zqx'></bdo><ul id='k6Zqx'></ul>