MySQL工作台架构同步导致错误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

我正在使用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 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,这样它就可以生成兼容的代码。