请帮帮我 . 我尝试运行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 回答
你为什么还要设置
ENGINE
和CHARSET
?只需使用:有关可用语法,请参阅官方文档:http://dev.mysql.com/doc/refman/5.1/en/alter-table.html