mysql - 导入从 MySQL Workbench 正向工程生成的 SQL 时出现错误 1064
问题描述
我正在尝试将架构导入 MySQL(MariaDB 10.1.36),但出现上述错误。我还在 MySQL Workbench 中尝试了直接正向工程,但结果是一样的。
ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以了解在 ') 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)
)
推荐阅读
- reactjs - 为什么我的变量在 react-native 和 redux 中重置为零?
- python - `pip install` 和 `python -m pip install` 有什么区别?
- javascript - 从导入的 NPM 包中找不到 SVG 文件
- r - 如何更改 R 中 DT::Datatable 中这些按钮的标签并更改行的颜色?
- mariadb - 将 mariaDB aaaa.table 复制到 aaaa.table2 并同时使用
- c# - 如何从后面的代码中显示引导弹出窗口?
- windows - Windows .bat 文件 - 如何使用户输入在命令行上不可见?
- c# - iPhone iPad 未检测到 ASP.Net MVC 应用程序中的浏览器类型
- node.js - 使用代理的 Node.js 请求
- sql-server - 从一系列交易中获取最新状态