【问题标题】:Error 1064 when importing SQL generated from MySQL Workbench forward engineering导入从 MySQL Workbench 正向工程生成的 SQL 时出现错误 1064
【发布时间】:2019-04-09 14:25:49
【问题描述】:

我正在尝试将架构导入 MySQL (MariaDB 10.1.36),但出现上述错误。我还在 MySQL Workbench 中尝试了直接正向工程,但结果是一样的。

ERROR 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;

我尝试将反引号更改为单引号是徒劳的,后来我将它们删除为相同的结果。期望是创建表,其余的结构也是如此。

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    删除VISIBLE

    DEMO

    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) 
    )
    

    【讨论】:

    • 需要 MySQL 5.7 才能使其工作,MariaDB 不适合。
    【解决方案2】:

    在此处检查您的 mariadb 版本是否支持不可见/可见索引 https://mariadb.com/kb/en/library/invisible-columns/,如果不支持则在此处关闭 mysql 工作台中的选项 https://dev.mysql.com/doc/workbench/en/wb-table-editor-indexes-tab.html

    【讨论】:

      猜你喜欢
      • 2019-03-11
      • 2020-08-05
      • 2019-05-17
      • 2019-05-04
      • 2012-10-25
      • 2018-04-14
      • 2017-05-27
      • 2019-03-08
      • 2019-01-25
      相关资源
      最近更新 更多