【问题标题】:Error 1064 in SQL code generated by MySQL WorkbenchMySQL Workbench 生成的 SQL 代码中的错误 1064
【发布时间】:2019-05-17 01:18:54
【问题描述】:

我在 MySQL Workbench 中创建第一个表时遇到了一个小问题。当我创建两个表并查看正向工程进度时,我收到以下消息:

在服务器中执行 SQL 脚本 错误:错误 1064:您的 SQL 语法有错误; 检查与您的 MariaDB 服务器版本相对应的手册 使用正确的语法 near '索引fk_person_has_user_person_idx (person_ID ASC) 可见, 第 8 行的 CONSTRAINT'

SQL 代码:

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

谁能解释一下?

【问题讨论】:

  • 您使用的是什么版本的 MySQL? VISIBLE 关键字在旧版本中不可用。使用查询 SELECT VERSION(); 找出您正在运行的版本。
  • 删除 VISIBLE 关键字对我有用。谢谢老哥!!!

标签: mysql mysql-workbench


【解决方案1】:

Ed Cottrell 是正确的。这是您的 MySQL 服务器版本和 MySQL Workbench 设置之间的版本不匹配。

  1. SELECT VERSION(); 让您的服务器告诉您它的版本。
  2. 在 Workbench 中,执行 Edit / Preferences / Modeling > MySQL,并将 Default Target MySQL Version 设置为您的服务器版本。

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

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

【讨论】:

  • MySQL 曾经如此简单;叹息。
猜你喜欢
  • 2021-03-05
  • 1970-01-01
  • 1970-01-01
  • 2018-04-14
  • 2017-05-06
  • 1970-01-01
  • 1970-01-01
  • 2011-04-17
  • 1970-01-01
相关资源
最近更新 更多