MySQL Workbench:查询错误(1064):第1行’VISIBLE’附近的语法错误
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySQL Workbench:查询错误(1064):第1行’VISIBLE’附近的语法错误,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2179字,纯文字阅读大概需要4分钟。
内容图文
![MySQL Workbench:查询错误(1064):第1行’VISIBLE’附近的语法错误](/upload/InfoBanner/zyjiaocheng/891/b95a55c6bd5a45ccbbd96b6e83a463f3.jpg)
以下VISIBLE的任何想法都会导致问题?
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
ONsetting
(code
ASC) VISIBLE
Error in query (1064): Syntax error near ‘VISIBLE’ at line 1CREATE UNIQUE INDEX
uuid_UNIQUE
ONsetting
(uuid
ASC) VISIBLE
Error in query (1064): Syntax error near ‘VISIBLE’ at line 1
如果我删除VISIBLE但MySQL Workbench 8.0.12自动生成它没有错误.如何阻止MySQL Workbench这样做呢?
我的Ubuntu 18.04中的MySQL信息:
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语句.
从MySQL Server 8.0 Docs开始,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 |无法在MySQL Server 5.7中使用INVISIBLE}.从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索引禁用此自动生成功能:
在MySQL Workbench中:
去:
Edit > Preferences > Modeling > MySQL.
然后,将“Default Target MySQL Version”设置为5.7
查看下面的截图:
内容总结
以上是互联网集市为您收集整理的MySQL Workbench:查询错误(1064):第1行’VISIBLE’附近的语法错误全部内容,希望文章能够帮你解决MySQL Workbench:查询错误(1064):第1行’VISIBLE’附近的语法错误所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。