gpt4 book ai didi

mysql - 或者在列中设置 Null 值

转载 作者:行者123 更新时间:2023-11-29 16:06:00 24 4
gpt4 key购买 nike

我正在构建一个数据库,其中一个表包含“sensor_id”和“station_id”列。当有人尝试在表中插入新行时,“sensor_id”列中可以有 NULL 值,但在任何情况下“station_id”中都不能有 NULL 值。反之亦然,当“station_id”为NULL时,“sensor_id”不能为NULL。如果在两列中都输入了值,则没有问题。

我目前正在 MySQL Workbench 中工作,似乎我的选择是将两列设置为 NN(Not NULL),这是过于严格的实现,因为其中一列就足够了,仅将其中一列设置为 NN,这意味着必须始终填充一个特定列(也不是这种情况),或者不设置任何一个 NN,这太宽松了,因为必须给出两个值中的至少一个。

从视觉上看,该表如下所示(抱歉使用 Microsoft Word 替代品,但我的 MYSQL 服务器出现问题,无法访问数据库):

Alert table

Alert_id 是表的主键,因此其他两列允许重复值。

我该如何实现这个?

最佳答案

您应该向该表添加约束,如下所示:

  CONSTRAINT CheckSensorStationNotNull CHECK (station_id is not null or sensor_id is not null)

关于mysql - 或者在列中设置 Null 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55741504/

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