0
試圖創建一個外鍵MovieName
表jobinfo
我得到一個error code : 1215 Cannot add foreign key constraint
錯誤代碼1215:外鍵錯誤:爲什麼我得到這個?
父表(contentinfo
)
CREATE TABLE `contentinfo` (
`ID` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Movie ID',
`Name` varchar(25) DEFAULT NULL,
`Original_Language` varchar(25) DEFAULT NULL,
`Dubbed_Language` varchar(25) DEFAULT NULL,
`InputType` varchar(25) DEFAULT NULL,
`CreationTime` date DEFAULT NULL,
`VidEncodingTemplatePath` varchar(255) DEFAULT NULL,
`AudEncodingTemplatePath` varchar(255) DEFAULT NULL,
`CCEncodingTemplatePath` varchar(255) DEFAULT NULL,
`ContentType` varchar(10) DEFAULT NULL,
`RefMovieID` int(11) DEFAULT NULL COMMENT 'For dubbed movie only',
`NumberOfPartsInMovie` varchar(255) DEFAULT NULL,
`Multilingual` tinyint(1) DEFAULT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=11021 DEFAULT CHARSET=latin1
錯誤被拋出時,我儘量讓其中存在2個外鍵的表jobinfo
:
create table jobinfo(JobID int, ContainerID int,
MovieName varchar(25), FileName varchar(25), MediaType varchar(25),
ContentType varchar(25), ReelIndex int,
ReelType varchar(25), ProcessingUnitID int,
VidEncodingTemplate varchar(255), AudEncodingTemplate varchar(255),
CCEncodingTemplate varchar(255), StartIndex int,
EndIndex int, SplitIndex int, Duration int,FileSize int, Progress int,
JStatus varchar(25), QCStatus varchar(25),
QCComments varchar(255), ProcessStartTime datetime, ProcessEndTime datetime,
ProcessingStatus varchar(25), PackagingStatus varchar(30),
primary key(JobID),
foreign key (ContainerID) references contentinfo(id),
foreign key (MovieName) references contentinfo(Name));
由於聲明foreign key (MovieName) references contentinfo(Name)
錯誤被拋出,因爲當這個聲明我s刪除了命令工作正常。我得到這個錯誤的原因是什麼?