【问题标题】:mysql key column doesnt exist in table表中不存在 mysql 键列
【发布时间】:2023-01-10 16:48:31
【问题描述】:
CREATE TABLE DONOR
(
donor_id int,
medical_history varchar(20),
donor_name varchar(50),
blood_group char(2),
address varchar(80),
contact_number int,
PRIMARY KEY (donor_id)
);

CREATE TABLE RECEPTIONIST
(
recep_id varchar(10),
recep_name varchar(50),
phone_number int,
donor_id int,
PRIMARY KEY (recep_id),
FOREIGN KEY (donor_id) REFERENCES DONOR (donor_id)
);

CREATE TABLE HOSPITAL
(
hospital_id varchar(10),
hospital_name varchar(50),
hospital_address varchar(80),
PRIMARY KEY (hospital_id)
);

CREATE TABLE BLOOD_BANK 
(
blood_bank_id varchar(10),
blood_group char(2),
stocks int,
PRIMARY KEY (blood_bank_id),
FOREIGN KEY (recep_id) REFERENCES RECEPTIONIST (recep_id),
FOREIGN KEY (hospital_id) REFERENCES HOSPITAL (hospital_id)
);

CREATE TABLE BLOOD
(
blood_code varchar(10),
blood_group char(2),
expired_date date,
PRIMARY KEY (blood_code)
);

CREATE TABLE PATIENT
(
patient_id varchar(10),
patient_name varchar(50),
contact_number int,
blood_group char(2),
address varchar(80),
PRIMARY KEY(patient_id),
FOREIGN KEY (hospital_id) REFERENCES HOSPITAL (hospital_id)
);

嗨,我在 mysql 中为我的项目写了这个,我不明白为什么它说

键列“recep_id”不存在

当我想执行代码时在表中

它说我需要在接待员表中定义它,但我已经定义了它

CREATE TABLE RECEPTIONIST
(
recep_id varchar(10),

血库和接待员之间的实体关系是一位在血库工作的接待员。

【问题讨论】:

  • 您使用的是哪个版本?
  • 如果您收到错误消息,您应该将其完整发布。
  • @SelVazi 它与错误无关
  • @P.Salmon OP 添加了它

标签: mysql


【解决方案1】:

问题是这一行:

FOREIGN KEY (recep_id) REFERENCES RECEPTIONIST (recep_id),

在创建表 BLOOD_BANK 时。 表 BLOOD_BANK 没有您在语句中引用的列 recep_id。您要将列添加到表 BLOOK_BANK

CREATE TABLE BLOOD_BANK 
(
blood_bank_id varchar(10),
blood_group char(2),
stocks int,
recep_id varchar(10),
hospital_id varchar(10),
PRIMARY KEY (blood_bank_id),
FOREIGN KEY (recep_id) REFERENCES RECEPTIONIST (recep_id),
FOREIGN KEY (hospital_id) REFERENCES HOSPITAL (hospital_id)
);

与表BLOOD_BANKPATIENT中的hospital_id相同

CREATE TABLE PATIENT
(
patient_id varchar(10),
patient_name varchar(50),
contact_number int,
blood_group char(2),
address varchar(80),
hospital_id varchar(10),
PRIMARY KEY(patient_id),
FOREIGN KEY (hospital_id) REFERENCES HOSPITAL (hospital_id)
);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多