Mysql 无法在关联表中添加外键
我正在创建一个数据库并向其中添加表。我正在构建一个关联表,但无法向其中添加外键。我不明白为什么它不让我这么做Mysql 无法在关联表中添加外键,mysql,foreign-keys,mysql-workbench,Mysql,Foreign Keys,Mysql Workbench,我正在创建一个数据库并向其中添加表。我正在构建一个关联表,但无法向其中添加外键。我不明白为什么它不让我这么做 ERROR: Error 1215: Cannot add foreign key constraint CREATE TABLE IF NOT EXISTS `Hospital_Management_System`.`Bill_Item` ( `billId` INT NOT NULL COMMENT '', `itemNumber` INT NOT NULL
ERROR: Error 1215: Cannot add foreign key constraint
CREATE TABLE IF NOT EXISTS `Hospital_Management_System`.`Bill_Item` (
`billId` INT NOT NULL COMMENT '',
`itemNumber` INT NOT NULL COMMENT '',
INDEX `billId_idx` (`billId` ASC) COMMENT '',
INDEX `itemNumber_idx` (`itemNumber` ASC) COMMENT '',
CONSTRAINT `billId`
FOREIGN KEY (`billId`)
REFERENCES `Hospital_Management_System`.`Patient_Bill` (`billId`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `itemNumber`
FOREIGN KEY (`itemNumber`)
REFERENCES `Hospital_Management_System`.`Patient_Bill_Item` (`itemNumber`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
基本表是
CREATE TABLE IF NOT EXISTS `Hospital_Management_System`.`Patient_Bill` (
`patientId` INT NOT NULL COMMENT '',
`billId` INT NOT NULL COMMENT '',
`datebillPaid` DATE NOT NULL COMMENT '',
`amountDue` INT NOT NULL COMMENT '',
PRIMARY KEY (`billId`) COMMENT '',
INDEX `patientIdNumber_idx` (`patientId` ASC) COMMENT '',
CONSTRAINT `patientId`
FOREIGN KEY (`patientId`)
REFERENCES `Hospital_Management_System`.`Patient` (`patientId`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
第二张桌子是
CREATE TABLE IF NOT EXISTS `Hospital_Management_System`.`Patient_Bill_Item` (
`itemNumber` INT NOT NULL COMMENT '',
`quantity` INT NOT NULL COMMENT '',
`totalAmount` INT NOT NULL COMMENT '',
PRIMARY KEY (`itemNumber`) COMMENT '')
ENGINE = InnoDB;
你的语法看起来不错。检查您的表是否真的在使用innodb引擎。如何检查?
select*from INFORMATION\u SCHEMA。表
或SHOW CREATE TABLE\u您的表
语法看起来正常。检查您的表是否真的在使用innodb引擎。我如何检查?从信息\u架构中选择*。表或显示创建表\u您的表