Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql可以';t创建表(错误号:150)_Mysql - Fatal编程技术网

Mysql可以';t创建表(错误号:150)

Mysql可以';t创建表(错误号:150),mysql,Mysql,我正在尝试使用sql文件导入下表,但是 #1005-无法创建表“ehr患者用药”(错误号:150) 你能帮我修一下吗?提前谢谢你 CREATE TABLE IF NOT EXISTS `ehr_se`.`patient_medication` ( `patient_medication_id` INT NOT NULL AUTO_INCREMENT , `admission_id` INT NOT NULL , `patient_id` INT NOT NULL , `active_

我正在尝试使用sql文件导入下表,但是

#1005-无法创建表“ehr患者用药”(错误号:150)

你能帮我修一下吗?提前谢谢你

CREATE TABLE IF NOT EXISTS  `ehr_se`.`patient_medication` (

 `patient_medication_id` INT NOT NULL AUTO_INCREMENT ,
 `admission_id` INT NOT NULL ,
 `patient_id` INT NOT NULL ,
 `active_ingredient` VARCHAR( 45 ) NULL ,
 `active_ingredient_id_code` INT NULL ,
 `strength` INT NULL ,
 `pharmaceutical_dose_form` VARCHAR( 45 ) NULL ,
 `number_of_units_per_intake` INT NULL ,
 `frequency_of_intakes` INT NULL ,
 `duration_of_treatment` DATE NULL ,
 `date_of_onset_treatment` DATE NULL ,
 `start_date_of_treatment` DATE NULL ,
PRIMARY KEY (  `patient_medication_id` ) ,
UNIQUE INDEX  `pat_med_id_UNIQUE` (  `patient_medication_id` ASC ) ,
INDEX  `med_admin_data` (  `admission_id` ASC ,  `patient_id` ASC ) ,
CONSTRAINT  `med_adm_data` FOREIGN KEY (  `admission_id` ,  `patient_id` ) REFERENCES  `ehr_se`.`admission_data` (
`admission_id` ,
`patient_id`
) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE = INNODB;

检查你的参考键

`ehr_se`.`admission_data` (
`admission_id` ,
`patient_id`
)

具有精确类型
INT
解决方案是在表
入院数据中,将
入院id
患者id
字段作为一个索引。

在失败的
创建
后执行
显示警告
,这将为您提供更详细的信息。父表上的
(入院id,患者id)
上可能没有索引。。。这是InnoDB外键的要求。。。