首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL工作台生成的SQL代码中的错误1064

MySQL工作台生成的SQL代码中的错误1064
EN

Stack Overflow用户
提问于 2018-12-16 12:48:23
回答 1查看 1.7K关注 0票数 2

在MySQL工作台中创建我的第一个表有一个小问题。当我创建两个表并查看前向工程进度时,我得到如下消息:

在服务器错误中执行SQL脚本:错误1064:您的SQL语法出现了错误;请检查与MariaDB服务器版本对应的手册,以便在第8行使用接近“索引fk_person_has_user_person_idx (person_ID ASC)可视约束”的正确语法。

SQL代码:

代码语言:javascript
复制
        -- -----------------------------------------------------
        -- Table `customers`.`person_has_user`
        -- -----------------------------------------------------
        CREATE TABLE IF NOT EXISTS `customers`.`person_has_user` (
          `person_ID` INT NOT NULL,
          `user_person_ID` INT NOT NULL,
          PRIMARY KEY (`person_ID`, `user_person_ID`),
          INDEX `fk_person_has_user_user1_idx` (`user_person_ID` ASC) VISIBLE,
          INDEX `fk_person_has_user_person_idx` (`person_ID` ASC) VISIBLE,
          CONSTRAINT `fk_person_has_user_person`
            FOREIGN KEY (`person_ID`)
            REFERENCES `customers`.`person` (`ID`)
            ON DELETE NO ACTION
            ON UPDATE NO ACTION,
          CONSTRAINT `fk_person_has_user_user1`
            FOREIGN KEY (`user_person_ID`)
            REFERENCES `customers`.`user` (`person_ID`)
            ON DELETE NO ACTION
            ON UPDATE NO ACTION)
        ENGINE = InnoDB

SQL script execution finished: statements: 7 succeeded, 1 failed

Fetching back view definitions in final form.
Nothing to fetch

有人能解释一下吗?

EN

回答 1

Stack Overflow用户

发布于 2018-12-16 13:23:48

艾德·科特瑞尔是对的。这是MySQL服务器版本与MySQL工作台设置之间的版本不匹配。

  1. SELECT VERSION();让你的服务器告诉你它的版本。
  2. 在工作台中,执行编辑/首选项/建模> MySQL,并将默认目标MySQL版本设置为服务器版本。

然后Workbench将生成适合您实际使用的服务器的代码。

这个错误很可能发生在新用户身上;新下载的Workbench软件默认设置为MySQL 8,但是世界上许多服务器还没有安装在版本8上。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53802260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档