gpt4 book ai didi

sql - 如何实现双向引用表?

转载 作者:搜寻专家 更新时间:2023-10-30 21:44:29 24 4
gpt4 key购买 nike

我有一个 School 表和一个具有一对多关系的 Teacher 表。但是,其中一位老师是校校长,也只有一位老师可以当校校长。于是想到在School表中保存teachers id(原理)如下:

CREATE TABLE School (
ID INT PRIMARY KEY,
Name VARCHAR(40),
PrincipleID INT FOREIGN KEY REFERENCES Teacher.ID
)

CREATE TABLE Teacher (
ID INT PRIMARY KEY,
Name VARCHAR(40),
SchoolID INT FOREIGN KEY REFERENCES School.ID
)

我知道我可以松开学校表中的外键引用,但这不是一种选择。

是否应该在建表后做引用?如果是,如何?

最佳答案

另一种解决方案是创建一个新表,假设只有两个字段的 SchoolsPrinciples:

CREATE TABLE SchoolsPrinciples
(
SchoolId int,
TeacherId int,
CONSTRAINT uc_SchoolTeacher UNIQUE (SchoolId, TeacherId)
)

UNIQUE 约束让您可以为每所学校指定一名教师。

关于sql - 如何实现双向引用表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11108783/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com