Форвард Инжиниринг MySQL Workbench Ошибка 1064

Я сделал диаграмму EER, и я пытаюсь передать ее инженеру, но я получаю эту ошибку и не могу найти ошибку.

Выполнение сценария SQL на сервере ОШИБКА: Ошибка 1064: в синтаксисе SQL имеется ошибка; проверьте руководство, соответствующее вашей версии сервера MariaDB, чтобы найти правильный синтаксис для использования рядом с "INDEX". fk_User_Wallets1_idx (Wallets_idWallets ASC) VISIBLE, CONSTRAINT 'в строке 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

1 ответ

Решение

Можешь добавить двигатель

ДВИГАТЕЛЬ = CHARSET ПО УМОЛЧАНИЮ InnoDB =utf8 COLLATE=utf8_unicode_ci

Это проблема версии mysql. Удалите VISIBLE. и запустите код вручную. Или обновите сервер mysql и клиент до одной версии. (Wallets_idWallets ASC) ВИДИМО в (Wallets_idWallets ASC)

Прежде чем пересылать инженерные решения, отметьте указанные ниже параметры и продолжите процесс.

Перейдите в раздел параметров> Под набором параметров для создания базы данных

  • Пропустить создание внешних ключей
  • Также пропустите создание индексов
  • генерировать отдельные операторы создания индекса
  • Создать оператор Insert для таблицы

И продолжаем процесс дальнейшей разработки.

Другие вопросы по тегам