在 MySQL 中创建非 NULL 约束的最佳方法是什么,这样 fieldA 和 fieldB 不能都为 NULL。我不在乎其中任何一个本身是否为 NULL,只要另一个字段具有非 NULL 值即可。如果它们都具有非 NULL 值,那就更好了。
最佳答案
这不是直接回答您的问题,而是一些附加信息。
在处理多个列并检查是否全部为空或一个不为空时,我通常使用 COALESCE()
- 如果列表增长,它会简短、易读且易于维护:
COALESCE(a, b, c, d) IS NULL -- True if all are NULL
COALESCE(a, b, c, d) IS NOT NULL -- True if any one is not null
这可以在您的触发器中使用。
关于sql - MySQL 中的 OR 非空约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/170492/