在mysql工作台中正向工程ER图时出现错误1064

在mysql工作台中正向工程ER图时出现错误1064,mysql,database,mysql-workbench,er-diagrams,Mysql,Database,Mysql Workbench,Er Diagrams,我试图在Workbench中向前设计一个ER图来创建我的模式,但我得到了一个错误。我正在使用mySql Workbench for mac 这是我收到的错误消息: Executing SQL script in server ERROR: Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right

我试图在Workbench中向前设计一个ER图来创建我的模式,但我得到了一个错误。我正在使用mySql Workbench for mac

这是我收到的错误消息:

 Executing SQL script in server
ERROR: Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '
  INDEX `city_id_fk_idx` (`city_id` ASC) VISIBLE,
  INDEX `county_id_idx` (`cou' at line 13
SQL Code:
        -- -----------------------------------------------------
        -- Table `k00243666_property_bubble`.`addresses`
        -- -----------------------------------------------------
        CREATE TABLE IF NOT EXISTS `k00243666_property_bubble`.`addresses` (
          `address_id` INT NOT NULL AUTO_INCREMENT,
          `address1` VARCHAR(45) NULL,
          `address2` VARCHAR(45) NULL,
          `eircode` VARCHAR(7) NULL,
          `town_id` INT NULL,
          `city_id` INT NULL,
          `county_id` INT NULL,
          PRIMARY KEY (`address_id`),
          INDEX `town_id_fk_idx` (`town_id` ASC) VISIBLE,
          INDEX `city_id_fk_idx` (`city_id` ASC) VISIBLE,
          INDEX `county_id_idx` (`county_id` ASC) VISIBLE,
          CONSTRAINT `town_id_fk`
            FOREIGN KEY (`town_id`)
            REFERENCES `k00243666_property_bubble`.`town` (`town_id`)
            ON DELETE NO ACTION
            ON UPDATE CASCADE,
          CONSTRAINT `city_id_fk`
            FOREIGN KEY (`city_id`)
            REFERENCES `k00243666_property_bubble`.`city` (`city_id`)
            ON DELETE NO ACTION
            ON UPDATE CASCADE,
          CONSTRAINT `county_id`
            FOREIGN KEY (`county_id`)
            REFERENCES `k00243666_property_bubble`.`county` (`county_id`)
            ON DELETE NO ACTION
            ON UPDATE CASCADE)
        ENGINE = InnoDB

SQL script execution finished: statements: 5 succeeded, 1 failed

Fetching back view definitions in final form.
Nothing to fetch

有人知道我为什么会出现这个错误吗?

我猜您的MariaDB版本不支持应用于索引定义的
可见
不可见
。在任何情况下,索引在默认情况下都应该是可见的,因此您甚至不需要指定
visible
。尝试使用以下语法:

INDEX town_id_fk_idx (town_id),
INDEX city_id_fk_idx (city_id),
INDEX county_id_idx (county_id)
向MariaDB发出的功能请求。似乎没有
不可见的
语法用于关闭优化器的索引。然而,它提出了一种替代方案:

ALTER TABLE addresses DISABLE KEYS;

这将使所有索引对优化器不可见。

我猜您的MariaDB版本不支持应用于索引定义的
可见
不可见
。在任何情况下,索引在默认情况下都应该是可见的,因此您甚至不需要指定
visible
。尝试使用以下语法:

INDEX town_id_fk_idx (town_id),
INDEX city_id_fk_idx (city_id),
INDEX county_id_idx (county_id)
向MariaDB发出的功能请求。似乎没有
不可见的
语法用于关闭优化器的索引。然而,它提出了一种替代方案:

ALTER TABLE addresses DISABLE KEYS;

这将使所有索引对优化器不可见。

谢谢,我认为这解决了部分问题,现在我遇到了另一个错误:在服务器中执行SQL脚本错误:错误1005:无法创建表
k00243666\u属性\u bubble
用户状态
(错误号:121“写入或更新时重复密钥”)@欢迎来到Stack Overflow。网站不是这样工作的。如果你现在的问题与你所问的有很大不同,那么你需要提出一个新问题。这不是一个博客网站,你一直在问后续问题。我整理了它,我也有重复的约束条件,现在修复了它,非常感谢Tim BiegeleisenAlso感谢这个家伙,这是我第二个错误的修复。如果这个答案解决了你的问题,你可以点击左边的绿色复选标记来接受它。谢谢,我认为这解决了问题的一部分,现在我得到了一个不同的错误:在服务器中执行SQL脚本错误:错误1005:无法创建表
k00243666\u属性\u bubble
用户状态
(errno:121“写入或更新时重复键”)@LaurDragulin欢迎使用堆栈溢出。网站不是这样工作的。如果你现在的问题与你所问的有很大不同,那么你需要提出一个新问题。这不是一个博客网站,你一直在问后续问题。我整理了它,我也有重复的约束,现在修复了它,非常感谢Tim Biegeleisenal。也感谢这个家伙,这是我第二个错误的修复。如果这个答案解决了你的问题,你可以点击左边的绿色复选标记来接受它。