作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
一个简单的表格:
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/
我是一名优秀的程序员,十分优秀!