0

これは、エラーを出している私のデータベーステーブルです..

外部キーが 2 列以上で定義されています ..

    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

おそらく、外部キー列の 1 つの型が参照列の型と一致しないためです。外部キー (BEGIN_CLASS_NUMおよびEND_CLASS_NUM) に記載されている 2 つの列には typeINTがあり、もう 1 つの列 ( TIMETABLE_ID) には type がありVARCHAR(30)ます。参照される列 ( S_ID) は 2 つのうちの 1 つにしかならない可能性があるため、外部キーの 1 つまたは 2 つがエラーを生成します。

于 2012-12-19T07:17:27.733 に答える
0

できませんでした。リンクが正しくありません。

于 2012-12-19T07:27:26.290 に答える