Ошибка 1064 при импорте SQL, сгенерированного из MySQL Workbench forward engineering - PullRequest
0 голосов
/ 09 апреля 2019

Я пытаюсь импортировать схему в MySQL (MariaDB 10.1.36) и получаю вышеуказанную ошибку. Я также пробовал прямую форвард-инжиниринг в MySQL Workbench, но результаты те же.

ОШИБКА 1064 (42000): у вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MariaDB, чтобы найти правильный синтаксис для использования рядом с ') ДВИГАТЕЛЬ = InnoDB

Пример кода, который не работает:

CREATE TABLE IF NOT EXISTS `example`.`adhere` (
  `adhere_id` BIGINT(20) NOT NULL AUTO_INCREMENT,
  `description` VARCHAR(100) NOT NULL,
  `id_uuid` VARCHAR(36) NULL,
  PRIMARY KEY (`adhere_id`),
  INDEX `ix_tmp_autoinc` (`adhere_id` ASC) VISIBLE)
ENGINE = InnoDB
AUTO_INCREMENT = 19
DEFAULT CHARACTER SET = latin1;

Я попытался напрасно поменять обратные пометки на одинарные кавычки, но позже удалил их с тем же результатом. Ожидается, что таблица будет создана, поэтому все остальные будут структурированы следующим образом.

Ответы [ 2 ]

1 голос
/ 09 апреля 2019

Убедитесь, что ваша версия mariadb поддерживает невидимые / видимые индексы здесь https://mariadb.com/kb/en/library/invisible-columns/ и, если нет, отключите опцию в MySQL Workbench здесь https://dev.mysql.com/doc/workbench/en/wb-table-editor-indexes-tab.html

1 голос
/ 09 апреля 2019

удалить VISIBLE слово

ДЕМО

CREATE TABLE IF NOT EXISTS `example`.`adhere` 
(
  `adhere_id` BIGINT(20) NOT NULL AUTO_INCREMENT,
  `description` VARCHAR(100) NOT NULL,
  `id_uuid` VARCHAR(36) NULL,
  PRIMARY KEY (`adhere_id`),
  INDEX `ix_tmp_autoinc` (`adhere_id` ASC) 
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...