0
여기 내 테이블 세 테이블을 만드는 것입니다. 세 번째 키에는 다음 두 키의 외래 키가 있습니다. 나는 왜 MySQL이 세번째를 만들 수 없는지 모르겠다. 열의 유형이 일치합니다. 당신이 외래 키 관계를 만들 때MySQL 반환합니다 : errno : 150 - 외래 키 오류
DROP TABLE IF EXISTS `SET`;
CREATE TABLE IF NOT EXISTS `SET` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`SET_ID` int(11) DEFAULT 0,
`SET_NAME` varchar(32) NOT NULL,
`SET_RELEASE_DATE` date NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `TYPE`;
CREATE TABLE IF NOT EXISTS `TYPE` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`TYPE_ID` int(11) DEFAULT 0,
`TYPE_NAME` varchar(32) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `CARD`;
CREATE TABLE IF NOT EXISTS `CARD` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`CARD_ID` int(11) NOT NULL DEFAULT 0,
`CARD_NAME` varchar(64) DEFAULT NULL,
`SET_ID` int(11) DEFAULT 0,
`TYPE_1` int(11) DEFAULT 0,
`TYPE_2` int(11) DEFAULT 0,
`TYPE_3` int(11) DEFAULT 0,
`TYPE_4` int(11) DEFAULT 0,
PRIMARY KEY (`ID`),
CONSTRAINT `card_idfk_1` FOREIGN KEY (`SET_ID`)
REFERENCES `SET`(`SET_ID`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `card_t1fk_1` FOREIGN KEY (`TYPE_1`)
REFERENCES `TYPE`(`TYPE_ID`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `card_t2fk_1` FOREIGN KEY (`TYPE_2`)
REFERENCES `TYPE`(`TYPE_ID`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `card_t3fk_1` FOREIGN KEY (`TYPE_3`)
REFERENCES `TYPE`(`TYPE_ID`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `card_t4fk_1` FOREIGN KEY (`TYPE_4`)
REFERENCES `TYPE`(`TYPE_ID`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
고마워, 나는 내 수업에서 이것을 기억하지 못한다. 유형이 일치해야한다고 생각했습니다. –