这是我的数据库表,它给出了错误..
外键定义多于两列..
CREATE TABLE IF NOT EXISTS `EC_ATTENDEES` (
`S_ID` VARCHAR(30) NOT NULL PRIMARY KEY,
`USER_ID` VARCHAR(30) NULL ,
`TYPE` VARCHAR(30) NULL ,
`TIMETABLE_ID` VARCHAR(30) NULL ,
`COURSE_FEE` INT NULL ,
`PERMISSION` TINYINT(1) NULL ,
`PAYMENT_STATUS` VARCHAR(30) NULL ,
`BEGIN_CLASS_NUM` INT NULL ,
`END_CLASS_NUM` INT NULL ,
FOREIGN KEY (`USER_ID` ) REFERENCES `EC_USER` (`S_ID` ),
FOREIGN KEY (`BEGIN_CLASS_NUM` ) REFERENCES `EC_TIMETABLE` (`S_ID` ),
FOREIGN KEY (`END_CLASS_NUM` ) REFERENCES `EC_TIMETABLE` (`S_ID` ),
FOREIGN KEY (`TIMETABLE_ID` ) REFERENCES `EC_TIMETABLE` (`S_ID` ));
答案 0 :(得分:1)
这可能是因为其中一个外键列的类型与引用列的类型不匹配。外键中提到的两列(BEGIN_CLASS_NUM
和END_CLASS_NUM
)的类型为INT
,另一列(TIMETABLE_ID
)的类型为VARCHAR(30)
。引用的列(S_ID
)只能是两个中的一个,因此任何一个或两个外键都会产生错误。
答案 1 :(得分:0)
无法实现,您的链接不正确。