在SQL触发器中,检查插入是否包含列的值
我的SQL表中确实有一个触发器,我正在尝试检查insert是否包含列在SQL触发器中,检查插入是否包含列的值,sql,triggers,mariadb,Sql,Triggers,Mariadb,我的SQL表中确实有一个触发器,我正在尝试检查insert是否包含列produktnumer的值。我的推理是,是否运行另一个由触发器引起的插入 在我的触发器实际插入之前,我的触发器中确实有这个。 如果NEW.produktnumer不为NULL或不为“”,则后跟END IF 我的触发器如下所示: IF NEW.Produktnummer IS NOT NULL OR NOT '' THEN [This piece triggers another Insert] END IF 但是,即使我的i
produktnumer
的值。我的推理是,是否运行另一个由触发器引起的插入
在我的触发器实际插入之前,我的触发器中确实有这个。
如果NEW.produktnumer不为NULL或不为“”,则
后跟END IF
我的触发器如下所示:
IF NEW.Produktnummer IS NOT NULL OR NOT '' THEN
[This piece triggers another Insert]
END IF
但是,即使我的insert甚至不包含NEW.Produktnummer的值,if表达式似乎始终为真
我甚至可以检查触发器中有新变量的是否不为NULL或不为“”
,或者是否有其他方法可以有条件地在触发器中运行语句?'
在布尔上下文中是假-y,因此NOT'
为真,而if
条件始终为真。看起来您想用
操作符检查produktnumer
:
IF NEW.Produktnummer IS NOT NULL AND NEW.Produktnummer <> '' THEN
-- trigger the other insert
END IF
如果NEW.produktnumer不为NULL且NEW.produktnumer“”则
--触发另一个插入
如果结束
非常感谢,这就解决了问题!