Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 我们可以将一个外键定义为一个表中的两列以上吗?_Mysql_Hibernate - Fatal编程技术网

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
)只能是这两个列中的一个,因此一个或两个外键将生成错误。

不可能,您的链接不正确