gpt4 book ai didi

sql - 强制外键引用的行具有相同的不同外键

转载 作者:行者123 更新时间:2023-11-29 11:58:46 25 4
gpt4 key购买 nike

我有两个表,文章和评论。评论架构如下:

CREATE TABLE comments (
id SERIAL PRIMARY KEY,
in_response_to INTEGER REFERENCES comments(id),
article_id INTEGER NOT NULL REFERENCES articles(id),
// etc
);

我想创建这样的限制:响应旧评论的新评论必须共享旧评论的 article_id

我如何在 SQL 中表达这个约束?

最佳答案

使用多列外键约束:

CREATE TABLE comments (
id SERIAL PRIMARY KEY,
in_response_to INTEGER ,
article_id INTEGER NOT NULL REFERENCES articles(id),
CONSTRAINT xx UNIQUE( id, article_id ),
CONSTRAINT response_must_have_the_same_article_id
FOREIGN KEY ( in_response_to, article_id )
REFERENCES comments( id, article_id )
);

关于sql - 强制外键引用的行具有相同的不同外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45126138/

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