sql - SQL 外键没有被另一个表引用
问题描述
我如何将以下外键与该表相关联?
我想要的是在time_slot
和checkup _appt
表之间建立关系。我希望能够建立一对多的关系,或者一对多的关系
CREATE TABLE time_slot
(
slot_id varchar(4),
adoption_id varchar(8),
day varchar(1),
req_appt_id varchar(8),
start_hr numeric(2) check (start_hr >= 0 and start_hr < 24),
start_min numeric(2) check (start_min >= 0 and start_min < 60),
end_hr numeric(2) check (end_hr >= 0 and end_hr < 24),
end_min numeric(2) check (end_min >= 0 and end_min < 60),
primary key (slot_id, req_appt_id, adoption_id),
);
CREATE TABLE well_check_up
(
slot_id varchar(4),
adoption_id varchar(8),
req_appt_id varchar(8),
day varchar(1),
PRIMARY KEY (slot_id, req_appt_id, adoption_id),
FOREIGN KEY (req_appt_id) REFERENCES time_slot (slot_id, req_appt_id, adoption_id)
);
解决方案
你的primary Key 主键(time_slot_id, day,start_min,req_appt_id,adoption_id),); 在时隙上,是一个组合的主键。您需要在 well_check 上引用所有这些,而不仅仅是 req_appt_id。
像这样
Reference Time_slot(time_slot_id,
day,start_min,req_appt_id,adoption_id).
这意味着您还必须在 Well_check 上添加这些列。
推荐阅读
- python - Python:为什么这些代码行显示不同的值?
- python - 如何在 Python 中过滤和写入多个文件?
- java - MongoDB:“MongoSocketException:mongodb:提供节点名或服务名,或未知”
- sql-server - SQL Server:引用其他视图的视图列表
- javascript - API 和接口(对象类型)如何可供 JavaScript 使用?
- javascript - 将参数传递到 URL
- java - Java:ImageIcon - 图像文件更新,但 Java 框架中的图像图标没有
- android - 步进器内的日期选择器
- laravel - 通过回答安全问题手动重置密码而不发送电子邮件 - Laravel/auth
- r - 如何在ggplot lineplot中为具有相似颜色的多个子类着色?