我正在尝试将模式导入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;
我试图将反引号徒劳地改为单引号,后来我将其删除以得到相同的结果。期望创建表,其余的结构也是如此。
答案 0 :(得分:1)
删除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)
)
答案 1 :(得分:1)
在https://mariadb.com/kb/en/library/invisible-columns/处检查您的mariadb版本是否支持不可见/可见索引,如果没有关闭,请在https://dev.mysql.com/doc/workbench/en/wb-table-editor-indexes-tab.html处关闭mysql workbench中的选项