首页 文章

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

提问于
浏览
1

请帮帮我 . 我尝试运行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

我正在尝试实现多对多的关系 .

``

---------------------------------------------------------------------------------------- 

 DROP TABLE IF EXISTS VFSGRPUSR; 

 CREATE TABLE VFSGRPUSR
(
  VFSGRP INTEGER REFERENCES VFSGRP(VFSGRP_ID),
  VFSUSR INTEGER REFERENCES VFSUSR(VFSUSR_ID),
  PRIMARY KEY (VFSGRP, VFSUSR)
)ENGINE=InnoDB DEFAULT CHARSET utf8; 

 ---------------------------------------------------------------------------------------- 

 DROP TABLE IF EXISTS VFSUSR; 

 CREATE TABLE VFSUSR
(
  VFSUSR_ID INTEGER NOT NULL auto_increment,
  DEPARTMENT INTEGER,
  FIRSTNAME VARCHAR(255) NOT NULL,
  SURNAME VARCHAR(255) NOT NULL,
  LOGIN VARCHAR(255) NOT NULL,
  PASSWORD BLOB,
  TOKEN BLOB,
  PRIMARY KEY  (VFSUSR_ID),
  CONSTRAINT VFSUSR_REF_DEPARTMENT FOREIGN KEY (DEPARTMENT) REFERENCES DEPARTMENT (DEPARTMENT_ID)
)ENGINE=InnoDB DEFAULT CHARSET utf8; 

 ---------------------------------------------------------------------------------------- 

 DROP TABLE IF EXISTS VFSGRP; 

 CREATE TABLE VFSGRP
(
  VFSGRP_ID INTEGER NOT NULL auto_increment,
  GROUPNAME VARCHAR(255) NOT NULL,
  PRIMARY KEY (VFSGRP_ID)
)ENGINE=InnoDB DEFAULT CHARSET utf8; 

 ---------------------------------------------------------------------------------------- 

 ALTER TABLE VFSGRPUSR(
    ADD CONSTRAINT VFSGRPUSR_REF_VFSGRP
        FOREIGN KEY (VFSGRP)
        REFERENCES VFSGRP(VFSGRP_ID)
)ENGINE=InnoDB DEFAULT CHARSET utf8; 

 ALTER TABLE VFSGRPUSR(
    ADD CONSTRAINT VFSGRPUSR_REF_VFSUSR
        FOREIGN KEY (VFSUSR)
        REFERENCES VFSUSR(VFSUSR_ID)
)ENGINE=InnoDB DEFAULT CHARSET utf8;

1 回答

  • 2

    你为什么还要设置 ENGINECHARSET ?只需使用:

    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

相关问题