更改键的参照完整性行为
到目前为止,您已经实现了 3 个外键约束:
professors.university_id到universities.idaffiliations.organization_id到organizations.idaffiliations.professor_id到professors.id
这些外键当前的行为是 ON DELETE NO ACTION。接下来,您将把 affiliations 中引用 organizations 的那一列的行为进行修改。如果某个 organization 被删除,那么它的所有 affiliation(无论由哪位教授建立)也应被一并删除。
修改键约束不能使用 ALTER COLUMN。相反,您需要先DROP 该键约束,然后ADD 一个新的,并设置不同的 ON DELETE 行为。
不过,要删除约束,您需要知道它的名称。该信息也存储在 information_schema 中。
本练习是课程的一部分
SQL 关系型数据库入门
交互式实操练习
通过完成这段示例代码来试试这个练习。
-- Identify the correct constraint name
SELECT constraint_name, table_name, constraint_type
FROM information_schema.___
WHERE constraint_type = 'FOREIGN KEY';