社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  DATABASE

mysql workbench生成的sql代码中出现错误1064

Eric Mandel • 5 年前 • 1268 次点击  

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

在服务器中执行SQL脚本 错误:错误1064:您的SQL语法有错误; 检查与您的mariadb服务器版本相对应的手册 使用正确的语法 指数 fk_person_has_user_person_idx ( person_ID asc)可见, 第8行的“约束”

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

有人能解释一下吗?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/43720
 
1268 次点击  
文章 [ 1 ]  |  最新文章 5 年前
O. Jones
Reply   •   1 楼
O. Jones    6 年前

埃德·科特雷尔是对的。这是mysql服务器版本和mysql工作台设置之间的版本不匹配。

  1. SELECT VERSION(); 让你的服务器告诉你它的版本。
  2. 在workbench中,编辑/preferences/modeling>mysql,并设置 默认目标MySQL版本 到您的服务器版本。

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

对于新用户来说,这个错误很可能发生;新下载的Workbench软件的默认设置是MySQL8,但是世界上很多服务器还没有在版本8上。