Я пытаюсь импортировать схему в MySQL (MariaDB 10.1.36) и получаю указанную выше ошибку. Я также пробовал прямое проектирование в MySQL Workbench, но результаты такие же.
ERROR 1064 (42000): 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 ') ENGINE = 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;
Я тщетно пытался изменить обратные кавычки на одинарные кавычки, позже я удалил их с тем же результатом. Ожидается, что таблица будет создана, поэтому остальные структурированы так.
убери 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)
)
Убедитесь, что ваша версия mariadb поддерживает невидимые/видимые индексы здесь https://mariadb.com/kb/en/library/invisible-columns/, и если нет, отключите параметр в рабочей среде mysql здесь https://dev.mysql.com/doc/workbench/en/wb-table-editor-indexes-tab.html.
Нужен MySQL 5.7, чтобы заставить его работать, MariaDB для этого не подходит.