MySQL工作台架构同步导致错误1064
我正在使用MySQL Workbench为我的数据库创建一个模式。当我尝试将它同步到服务器时,我得到一个错误1064。以下是完整的日志:MySQL工作台架构同步导致错误1064,mysql,syntax,mysql-workbench,Mysql,Syntax,Mysql Workbench,我正在使用MySQL Workbench为我的数据库创建一个模式。当我尝试将它同步到服务器时,我得到一个错误1064。以下是完整的日志: Executing SQL script in server ERROR: Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use ne
Executing SQL script in server
ERROR: Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VISIBLE,
PRIMARY KEY (`id`),
CONSTRAINT `buildings_rel`
FOREIGN KEY (`bu' at line 10
SQL Code:
CREATE TABLE IF NOT EXISTS `rentals`.`apartments` (
`beds` INT(11) NOT NULL,
`baths` INT(11) NOT NULL,
`area` INT(11) NOT NULL,
`price_min` INT(11) NOT NULL,
`price_max` INT(11) NOT NULL,
`available_now` BIT(1) NOT NULL,
`building_id` INT(11) NULL DEFAULT NULL,
`id` INT(11) NOT NULL AUTO_INCREMENT,
INDEX `buildings_rel_idx` (`building_id` ASC) VISIBLE,
PRIMARY KEY (`id`),
CONSTRAINT `buildings_rel`
FOREIGN KEY (`building_id`)
REFERENCES `rentals`.`buildings` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
我不太懂SQL,所以我很难弄清楚这里到底出了什么问题。我希望工作台能够创建正确的代码,但我有点惊讶,它似乎是这样的小故障。感谢您的帮助 明白了!正如一些评论所说,我必须在MySQL工作台设置中设置不同的目标版本。谢谢 更改默认目标MySQL版本以匹配您的MySQL版本
Home -> Edit -> Preferences -> Modeling -> MySQL -> Default Target MySQL Version
索引的
可见
选项是MySQL 8.0的新增选项。如果您使用的是较旧版本的MySQL,则不应使用该选项。听起来您使用的是新版本的Workbench和较旧的MySQL。也许有办法告诉它您使用的是哪个版本的MySQL,这样它就可以生成兼容的代码。