0

这是我的数据库表,它给出了错误..

外键定义多于两列..

    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` ));
4

2 回答 2

1

这可能是因为其中一个外键列的类型与引用列的类型不匹配。BEGIN_CLASS_NUM外键 (和)中提到的两列END_CLASS_NUM有 type INT,另一列 ( TIMETABLE_ID) 有 type VARCHAR(30)。被引用的列 ( S_ID) 只能是两者之一,因此任何一个或两个外键都会产生错误。

于 2012-12-19T07:17:27.733 回答
0

不可能,您的链接不正确。

于 2012-12-19T07:27:26.290 回答