或者在列中设置Null值

时间:2019-04-18 07:55:40

标签: mysql database mysql-workbench

我正在建立一个数据库,并且其中一个表包含“ 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是表的主键,因此其他两列允许重复的值。

我该如何实现?

1 个答案:

答案 0 :(得分:0)

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

_5.4.0.v20190212-