Tro*_*roy 10 mysql foreign-key view
免责声明:我是程序员,不是 DBA,所以请耐心等待...
我有一个视图,用于将 2 个实体映射在一起。我必须在几个不同的表之间进行连接才能得到:
CREATE OR REPLACE VIEW V_SCREENING_GROUP_SITES AS (
SELECT SG.SCREENING_GROUP_ID, V.SITE_ID
FROM SCREENING_GROUP SG, VISIT V, VISIT_DATE VD
WHERE VD.VISIT_ID = V.VISIT_ID
AND V.SCREENING_GROUP_ID = SG.SCREENING_GROUP_ID);
Run Code Online (Sandbox Code Playgroud)
以上只是上下文,不要太担心。我需要知道的是如何使我的新 V_SCREENING_GROUP_SITES 视图(SCREENING_GROUP_ID 和 SITE_ID)中的字段作为 SCREENING_GROUP 和 SITE 表的外键。或者它甚至重要吗?
如果它是一张桌子,我会这样做:
ALTER TABLE V_SCREENING_GROUP_SITES
ADD CONSTRAINT FK_SCREENING_GROUP_ID
FOREIGN KEY (SCREENING_GROUP_ID)
REFERENCES SCREENING_GROUP.SCREENING_GROUP_ID;
...
Run Code Online (Sandbox Code Playgroud)
但由于这是一个显然行不通的观点。我找不到适用于设置 FK 的 ALTER VIEW 语法。我该怎么办?
(这是一个 MySQL 数据库)
gvi*_*iew 12
视图是基于一个或多个物理表的逻辑表。如果底层表中有外键关系,那么它们会在视图中体现出来。视图完全依赖于它们所源自的表,因此尝试向它们添加外键是不可能的。