在MySQL中尝试Forward Engineering时出错1064

我是MySQL的新手,当我想做 “前进工程师 “的时候,遇到了这个错误。

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 '
  CONSTRAINT `fk_Vendite_Prodotti`
    FOREIGN KEY (`Prodotti_idProdotti`)
    ' at line 11
SQL Code:
        -- -----------------------------------------------------
        -- Table `mydb`.`Vendite`
        -- -----------------------------------------------------
        CREATE TABLE IF NOT EXISTS `mydb`.`Vendite` (
          `idVendite` INT NOT NULL,
          `dataVendita` DATETIME NULL,
          `qta` INT NULL,
          `costo` FLOAT NULL,
          `Prodotti_idProdotti` INT NOT NULL,
          PRIMARY KEY (`idVendite`),
          INDEX `fk_Vendite_Prodotti_idx` (`Prodotti_idProdotti` ASC) VISIBLE,
          CONSTRAINT `fk_Vendite_Prodotti`
            FOREIGN KEY (`Prodotti_idProdotti`)
            REFERENCES `mydb`.`Prodotti` (`idProdotti`)
            ON DELETE NO ACTION
            ON UPDATE NO ACTION)
        ENGINE = InnoDB

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

Fetching back view definitions in final form.
Nothing to fetch

我知道有很多关于这个话题的问题,但我看到这是个很特殊的问题。同时由于是SQL新手,我也不知道会是什么问题导致的

解决方案:

就目前来看,MariaDB不支持隐形索引(只有MySQL 8.0支持),所以错误来自于使用了 VISIBLE 关键字。

因为无论如何,索引都是默认可见的,所以我建议直接删除它。

CREATE TABLE IF NOT EXISTS `mydb`.`Vendite` (
      `idVendite` INT NOT NULL,
      `dataVendita` DATETIME NULL,
      `qta` INT NULL,
      `costo` FLOAT NULL,
      `Prodotti_idProdotti` INT NOT NULL,
      PRIMARY KEY (`idVendite`),
      INDEX `fk_Vendite_Prodotti_idx` (`Prodotti_idProdotti`),
      CONSTRAINT `fk_Vendite_Prodotti`
        FOREIGN KEY (`Prodotti_idProdotti`)
        REFERENCES `mydb`.`Prodotti` (`idProdotti`)
        ON DELETE NO ACTION
        ON UPDATE NO ACTION
) ENGINE = InnoDB

给TA打赏
共{{data.count}}人
人已打赏
未分类

如何在chrome docker镜像上从本地运行testcafe?

2022-9-10 1:50:30

未分类

为什么流的顺序与原始文件不同?

2022-9-10 2:01:23

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索