MySQL工作台:查询中出错(1064):语法错误靠近';可见';在1号线
你知道为什么下面的MySQL工作台:查询中出错(1064):语法错误靠近';可见';在1号线,mysql,mysql-workbench,Mysql,Mysql Workbench,你知道为什么下面的可见会引起问题吗 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 NU
可见
会引起问题吗
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;
错误:
在设置(code
ASC)上创建唯一索引name\u UNIQUE
,可见
查询错误(1064):第1行“可见”附近的语法错误
在设置(uuid
ASC)上创建唯一索引uuid\u UNIQUE
可见
查询错误(1064):第1行“可见”附近的语法错误
如果我删除可见的,没有错误,但是MySQL Workbench 8.0.12自动生成。如何阻止MySQL Workbench这样做
我的Ubuntu 18.04中的MySQL信息:
MySQL版本:5.7.23-0ubuntu0.18.04.1,通过PHP扩展名MySQLi
这里的问题是不同MySQL服务器版本的语法不同。似乎MySQL Workbench 8.0.12正在为MySQL服务器8.0版自动生成CREATE UNIQUE 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服务器5.7中不可用。发件人:
如果你不想升级到MySQL的最新版本;您可以使用可见/不可见
索引禁用此自动生成功能:
在MySQL工作台中:
转到:
编辑>首选项>建模>MySQL
然后,将“默认目标MySQL版本”设置为5.7
查看下面的屏幕截图:
在工作台中:
模型>模型选项…>MySQL
=>取消选中“使用全局设置中的默认值,将其替换为5.7或6.3版本。我用了6.3。关于模型>模型选项..>MySql>6.3谢谢。有什么办法可以升级到MySQL服务器版本8.0吗?@laukok您可以按照此链接中给出的步骤进行操作:@MadhurBhaiyaVISIBLE
在将架构从一台5.7服务器传输到另一台服务器时仍然生成,即使设置了默认的目标MySQL版本5.7。这似乎是Manjaro Linux中MySQL Workbench 8.0.19-2的一个bug。@kkzxak47请按照此处的说明报告一个bug:我与MariaDB 10.3.27和MySQL Workbench 8.0.22有相同的问题。在MySQL Workbench中将目标MySQL版本设置为5.7就成功了。非常感谢。
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}