gpt4 book ai didi

sql - 如何检查其中一个值是否存在

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

我正在对旧架构进行更改,新要求是在表中包含 3 个不同的列。至少有一个必须填写ID。

我正在考虑实现服务以在插入之前检查是否存在任何字段。但仍然想知道是否有解决方案可以在数据库端实现这一点。

假设表格看起来像这样:

businessId  int     businessId or userId or followerId   
userId int businessId or userId or followerId
followerId int businessId or userId or followerId

我无法将这些字段中的任何一个标记为必填,因为插入数据时可能会插入到不同的列中。因此,如果存在任何字段,它应该允许数据库插入。

最佳答案

我了解到您正在尝试在 3 列上设置复合 NOT NULL 约束。在 Postgres 中,您可以按如下方式设置检查约束:

ALTER TABLE mytable
ADD CONSTRAINT at_least_one_non_null
CHECK (
businessId IS NOT NULL
OR userId IS NOT NULL
OR followerId IS NOT NULL
);

这将确保每条记录的 3 列中至少有一个不为空。

关于sql - 如何检查其中一个值是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57961072/

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