gpt4 book ai didi

MySQL,可以防止两个字段为 NULL 或 NOT NULL 吗?

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

一个简单的表格:

ID, NAME, POST_ID, GROUP_ID

必须设置 POST_ID 或 GROUP_ID,但不能同时设置它们,也不能一个都不设置。所以,

有有效的情况:

ID, NAME, POST_ID, GROUP_ID
x, y, 1, NULL
x, y, NULL, 4

和 NOT VALID 情况:

ID, NAME, POST_ID, GROUP_ID
x, y, NULL, NULL
x, y, 4, 4

能设置这么复杂的限制规则吗?

最佳答案

您必须在 CREATE 和 UPDATE 事件上使用 TRIGGERS,并在条件 (COALESCE(POST_ID, GROUP_ID) IS NULL OR (POST_ID IS NOT NULL AND GROUP_ID IS NOT NULL)) 发生时抛出异常

这里是你问题的答案: Either OR non-null constraints in MySQL

这是程序,根据 MySql 的版本略微更改语法。

关于MySQL,可以防止两个字段为 NULL 或 NOT NULL 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52097214/

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