当前位置: 首页 > 知识库问答 >
问题:

第194行mysql语法错误1064为多对多关系添加外键

陶淳
2023-03-14

请帮帮我。当我尝试运行sql命令时,会收到以下消息:

ERROR 1064 (42000) at line 194: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(
    ADD CONSTRAINT VFSGRPUSR_REF_VFSGRP
        FOREIGN KEY (VFSGRP)
        REFERENCES `VFS' at line 1

我正在尝试实现一种多对多的关系。

如果存在vfsgrpusr,则删除表;

创建表vfsgrpusr(VFSGRP整数引用VFSGRP(VFSGRP_ID),VFSUSR整数引用VFSUSR(VFSUSR_ID),主键(VFSGRP,VFSUSR))Engine=InnoDB默认字符集UTF8;

如果存在vfsusr,则删除表;

创建表vfsusr(vfsusr_idINTEGER NOT NULL auto_increment,DEPARTMENTINTEGER,firstnameVARCHAR(255)NOT NULL,surnameVARCHAR(255)NOT NULL,loginVARCHAR(255)NOT NULL,passwordBLOB,tokenBLOB,主键

如果存在vfsgrp,则删除表;

创建表vfsgrp(vfsgrp_idINTEGER NOT NULL auto_increment,groupnameVARCHAR(255)NOT NULL,主键(vfsgrp_id))engine=innoDB默认字符集utf8;

ALTER表VFSGRPUSR(添加约束 ;vfsgrpusr_ref_vfsgrp外键(VFSGRP)引用VFSGRP(VFSGRP_ID))engine=innoDB默认字符集utf8;

ALTER表VFSGRPUSR(添加约束VFSGRPUSR_REF_VFSUSR外键(VFSUSR)引用VFSUSR(VFSUSR_ID))engine=innoDB默认字符集utf8;

null

共有1个答案

钮兴安
2023-03-14

为什么还要尝试设置引擎字符集?只需使用:

ALTER TABLE VFSGRPUSR
    ADD CONSTRAINT VFSGRPUSR_REF_VFSGRP
        FOREIGN KEY (VFSGRP)
        REFERENCES VFSGRP(VFSGRP_ID);

并参考官方文档获得可用语法:http://dev.mysql.com/doc/refman/5.1/en/alter-table.html

 类似资料:
  • 问题内容: 因此,当我想添加外键时出现错误。我在带有EER图模型的MySQL Workbench中添加了外键。工作台尝试添加的行是: 我得到的错误是: 我搜索了解决方案,发现括号很重要或反引号,但是由于代码是由该工具创建的,因此对我来说似乎是正确的。是什么导致错误? 问题答案: 对于任何看此的人,都可以在EER图模型窗口中设置要用于生成SQL脚本的MySQL版本。转到“编辑”,“首选项”,然后是“

  • 同时添加外键关系MySQL给出: 我有2个表,试图给外键与其他的关系,但它给下面的错误。 错误1005:无法创建表'yellowbikes.#sql-1e8_82'(errno: 121) SQL声明: 错误:运行故障回复脚本时出错。详情如下。 错误1050:表“计划”已存在 SQL声明:

  • 问题内容: 我有三个表:应用程序,权限和applications_permissions 对于应用程序,有两类:免费和商业类(价格=‘0’和价格!=‘0’) 现在,我想为每个许可都知道有多少百分比的应用程序引用了它。而这两个类别 自由: 商业的: 我已经计算出以下查询,但其中不包含没有应用程序的权限ID:/ 我该怎么做呢?我已经尝试了几个小时了(该查询,其他联接),但这使我难以捉摸:/ 问题答案:

  • 复制和粘贴我前面问题的一些介绍部分。 我在Eclipselink2.3.2中使用JPA2.0,在其中,我在产品和它们的颜色之间建立了多对多的关系。一个产品可以有多种颜色,一种颜色可以与多种产品相关联。这种关系在数据库中由三个表表示。 null 实体类。

  • 对于我正在构建的一个类似论坛的网站,我有PHP类'user'和'post‘。用户有一个帖子数组。如何与关系数据库中的连接相似?在“post”上有一个外键,指向一个“user”?这对我来说是有意义的,因为这是一对一的关系,而“user”到“post”是一对多的,就我所见。欢迎有任何想法-谢谢!

  • 并向我抛出以下输出: 17:25:39创建表。(INT NOT NULL,)主键(