Mysql 我们可以将一个外键定义为一个表中的两列以上吗?
这是我的数据库表,它给出了错误 在多于两列中定义外键Mysql 我们可以将一个外键定义为一个表中的两列以上吗?,mysql,hibernate,Mysql,Hibernate,这是我的数据库表,它给出了错误 在多于两列中定义外键 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 , `PERMISSIO
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` ));
这可能是因为其中一个外键列的类型与引用列的类型不匹配。外键中提到的两列(
BEGIN\u CLASS\u NUM
和END\u CLASS\u NUM
)的类型为INT
,另一列(timeline\u ID
)的类型为VARCHAR(30)
。引用的列(S_ID
)只能是这两个列中的一个,因此一个或两个外键将生成错误。不可能,您的链接不正确