簡體   English   中英

無法創建外鍵約束 MySql

[英]Unable to create foreign key constraint MySql

我有兩張這樣的桌子:

'CREATE TABLE `preoperativeassessments` (
  `Id` char(36) NOT NULL,
  `SurgeonName` varchar(100) NOT NULL,
  `SurgeonExperience` int(11) DEFAULT NULL,
  `AnesthetistName` varchar(100) DEFAULT NULL,
  `DateOfBirthYear` int(11) DEFAULT NULL,
  `Gender` int(11) DEFAULT NULL,
  `Status` int(11) DEFAULT NULL,
  `SurgeryDate` datetime(6) DEFAULT NULL,
  `HospitalId` varchar(20) NOT NULL,
  `PatientId` varchar(50) NOT NULL,
  `SurgeonId` bigint(20) NOT NULL,
  `TheaterId` varchar(16) DEFAULT NULL,
  `AssessmentDate` datetime(6) DEFAULT NULL,
  `BodyStructureId` int(11) NOT NULL,
  `MethodId` varchar(100) DEFAULT NULL,
  `EthnicityId` int(11) DEFAULT NULL,
  PRIMARY KEY (`Id`),
  KEY `FK_PreOperativeAssessments_Hospitals_HospitalId_idx` (`HospitalId`),
  KEY `FK_PreOperativeAssessments_Patients_PatientId_idx` (`PatientId`),
  KEY `FK_PreOperativeAssessments_Users_SurgeonId_idx` (`SurgeonId`),
  KEY `FK_PreOperativeAssessments_BodyStructures_BodyStructureId_idx` (`BodyStructureId`),
  CONSTRAINT `FK_PreOperativeAssessments_BodyStructures_BodyStructureId` FOREIGN KEY (`BodyStructureId`) REFERENCES `bodystructures` (`Id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `FK_PreOperativeAssessments_Hospitals_HospitalId` FOREIGN KEY (`HospitalId`) REFERENCES `hospitals` (`Id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `FK_PreOperativeAssessments_Patients_PatientId` FOREIGN KEY (`PatientId`) REFERENCES `patients` (`Id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `FK_PreOperativeAssessments_Users_SurgeonId` FOREIGN KEY (`SurgeonId`) REFERENCES `abpusers` (`Id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1'


CREATE TABLE `ethnicities` (
   `Id` int(11) NOT NULL,
   `Description` varchar(100) DEFAULT NULL
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1

我嘗試使用這個添加外鍵約束:

ALTER TABLE casemix.preoperativeassessments ADD CONSTRAINT FK_PreOperativeAssessments_Ethnicities_EthnicityId  FOREIGN KEY (EthnicityId) REFERENCES casemix.ethnicities (Id) ON UPDATE NO ACTION ON DELETE CASCADE

但我不斷收到此錯誤:“錯誤代碼:1215。無法添加外鍵約束”

這里可能是什么問題?

'InnoDB 允許外鍵引用任何索引列或列組。 但是,在引用的表中,必須有一個索引,其中引用的列是相同順序的第一列。 - https://dev.mysql.com/doc/refman/8.0/en/create-table-foreign-keys.html或主鍵

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM