首页 > 解决方案 > 这里的语法错误是什么?

问题描述

我正在尝试为要创建的数据库转发此代码,但出现此错误:

fk_TANQUE_COMBUSTIVEL1 在'INVISIBLE,CONSTRAINT FOREIGN KEY(第9行的'COMBUSTIVEL_i'附近使用正确的语法

SQL Code:
        -- -----------------------------------------------------
        -- Table `mydb`.`TANQUE`
        -- -----------------------------------------------------
        CREATE TABLE IF NOT EXISTS `mydb`.`TANQUE` (
          `idTANQUE` VARCHAR(4) NOT NULL,
          `QteCombustivel` INT NOT NULL,
          `COMBUSTIVEL_idCOMBUSTIVEL` INT NOT NULL,
          PRIMARY KEY (`idTANQUE`, `COMBUSTIVEL_idCOMBUSTIVEL`),
          INDEX `fk_TANQUE_COMBUSTIVEL1_idx` (`COMBUSTIVEL_idCOMBUSTIVEL` ASC) INVISIBLE,
          CONSTRAINT `fk_TANQUE_COMBUSTIVEL1`
            FOREIGN KEY (`COMBUSTIVEL_idCOMBUSTIVEL`)
            REFERENCES `mydb`.`COMBUSTIVEL` (`idCOMBUSTIVEL`)
            ON DELETE NO ACTION
            ON UPDATE NO ACTION)
        ENGINE = InnoDB

SQL 脚本执行完成:语句:6 个成功,1 个失败

标签: mysqlsqlmysql-workbench

解决方案


MySQL 8.0 中引入了不可见索引。如果您的服务器使用旧版本,它将无法识别此关键字。


推荐阅读