MySQL無法添加外鍵約束因此,我試圖將外鍵約束作為項目要求添加到我的數據庫中,并且它第一次或兩次在不同的表上工作,但是我有兩個表,當我試圖添加外鍵約束時,會在兩個表上出錯。我得到的錯誤消息是:錯誤1215(HY000):無法添加外鍵約束這是我用來創建表的SQL,兩個違規的表是Patient和Appointment.SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=1;SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';CREATE SCHEMA IF NOT EXISTS `doctorsoffice` DEFAULT CHARACTER SET utf8 ;USE `doctorsoffice` ;-- ------------------------------------------------------- Table `doctorsoffice`.`doctor`-- -----------------------------------------------------DROP TABLE IF EXISTS `doctorsoffice`.`doctor` ;CREATE TABLE IF NOT EXISTS `doctorsoffice`.`doctor` ( `DoctorID` INT(11) NOT NULL AUTO_INCREMENT , `FName` VARCHAR(20) NULL DEFAULT NULL , `LName` VARCHAR(20) NULL DEFAULT NULL , `Gender` VARCHAR(1) NULL DEFAULT NULL , `Specialty` VARCHAR(40) NOT NULL DEFAULT 'General Practitioner' , UNIQUE INDEX `DoctorID` (`DoctorID` ASC) , PRIMARY KEY (`DoctorID`) )ENGINE = InnoDBDEFAULT CHARACTER SET = utf8;-- ------------------------------------------------------- Table `doctorsoffice`.`medicalhistory`-- -----------------------------------------------------DROP TABLE IF EXISTS `doctorsoffice`.`medicalhistory` ;CREATE TABLE IF NOT EXISTS `doctorsoffice`.`medicalhistory` ( `MedicalHistoryID` INT(11) NOT NULL AUTO_INCREMENT , `Allergies` TEXT NULL DEFAULT NULL , `Medications` TEXT NULL DEFAULT NULL , `ExistingConditions` TEXT NULL DEFAULT NULL , `Misc` TEXT NULL DEFAULT NULL , UNIQUE INDEX `MedicalHistoryID` (`MedicalHistoryID` ASC) , PRIMARY KEY (`MedicalHistoryID`) )ENGINE = InnoDBDEFAULT CHARACTER SET = utf8;
MySQL無法添加外鍵約束
滄海一幻覺
2019-07-08 16:08:54