如果一列为null,则应在MySQL中填充另一列(反之亦然)

如果一列为null,则应在MySQL中填充另一列(反之亦然),mysql,validation,Mysql,Validation,我如何验证这个问题 如果一列为null,那么另一列应该在MySQL中填充(反之亦然)。实际上,我通常会在应用程序级别而不是数据库级别处理此类问题。我目前还不知道有什么好方法可以验证MySQL中的非此即彼或字段集。也就是说,您可以使用cronjob来检查数据并更新无效行,但这将是一种被动而非主动的解决方案,因此我可能仍会尝试在应用程序逻辑中而不是在数据库约束中处理这一问题 您需要的是一个简单的检查约束: check (col1 is null and col2 is not null or col

我如何验证这个问题


如果一列为null,那么另一列应该在MySQL中填充(反之亦然)。

实际上,我通常会在应用程序级别而不是数据库级别处理此类问题。我目前还不知道有什么好方法可以验证MySQL中的非此即彼或字段集。也就是说,您可以使用cronjob来检查数据并更新无效行,但这将是一种被动而非主动的解决方案,因此我可能仍会尝试在应用程序逻辑中而不是在数据库约束中处理这一问题

您需要的是一个简单的检查约束:

check (col1 is null and col2 is not null or col1 is not null and col2 is null)
唉,虽然您可以在MySQL中编写,但它并没有得到实现


实现这种约束的方法(在MySQL中)是使用触发器来验证
insert
update

上的值,反之亦然,是这样的问题吗<代码>其中((columnA为空,columnB为非空)或(columnA为非空,columnB为空))…是的,但我可以将此代码放在哪里进行验证?每次都可能,我更喜欢在数据库级别处理字段值验证,因为我只需要做一次,如果一个程序员同事忘记了这一点,用户就不允许在数据中制造一些混乱。正因为如此,我正在寻找一个基于数据库的解决方案。它还没有实现吗?哇!所以我会用扳机。