正向工程MySQL Workbench错误1064

时间:2018-10-03 10:09:55

标签: mysql sql mariadb mysql-workbench

我制作了一个EER图,我正在尝试对其进行正向工程,但出现此错误,但找不到错误。

  

在服务器中执行SQL脚本错误:错误1064:您在   您的SQL语法;检查与您的MariaDB相对应的手册   在'INDEX'附近使用正确语法的服务器版本   fk_User_Wallets1_idxWallets_idWallets ASC)可见,约束'   在第13行

SQL代码:

        CREATE TABLE IF NOT EXISTS `mydb`.`User` (
          `idUser` INT NOT NULL AUTO_INCREMENT,
          `name` VARCHAR(45) NULL,
          `email` VARCHAR(45) NULL,
          `adress` VARCHAR(45) NULL,
          `password` VARCHAR(45) NULL,
          `saldo` INT NULL,
          `date_start` DATETIME NULL,
          `date_end` DATETIME NULL,
          `Rolls_idRolls` INT NOT NULL,
          `Wallets_idWallets` INT NOT NULL,
          PRIMARY KEY (`idUser`, `Rolls_idRolls`, `Wallets_idWallets`),
          INDEX `fk_User_Rolls1_idx` (`Rolls_idRolls` ASC) VISIBLE,
          INDEX `fk_User_Wallets1_idx` (`Wallets_idWallets` ASC) VISIBLE,
          CONSTRAINT `fk_User_Rolls1`
            FOREIGN KEY (`Rolls_idRolls`)
            REFERENCES `mydb`.`Rolls` (`idRolls`)
            ON DELETE NO ACTION
            ON UPDATE NO ACTION,
          CONSTRAINT `fk_User_Wallets1`
            FOREIGN KEY (`Wallets_idWallets`)
            REFERENCES `mydb`.`Wallets` (`idWallets`)
            ON DELETE NO ACTION
            ON UPDATE NO ACTION)
        ENGINE = InnoDB

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

Fetching back view definitions in final form.
Nothing to fetch

3 个答案:

答案 0 :(得分:1)

您可以添加引擎

ENGINE = InnoDB DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci

答案 1 :(得分:1)

这是mysql版本问题删除可见性。并手动运行代码。或将mysql服务器和客户端更新为相同版本。  (Wallets_idWallets ASC)可见到(Wallets_idWallets ASC)

答案 2 :(得分:0)

在进行工程设计之前,请勾选以下选项并继续进行操作,

转到选项部分> 在要创建的数据库的设置选项下

  • 跳过外键的创建
  • 也跳过索引创建
  • 生成单独的创建索引语句
  • 生成表的插入语句

并继续进行正向工程。