MySQL触发整数变量

时间:2015-12-22 15:02:55

标签: mysql triggers

我想做这样的事情:

DECLARE VAR_NAME INT DEFAULT 0;

IF NEW.field_name != NULL THEN
  SET VAR_NAME := 8;
END IF;

IF NEW.field_name = NULL THEN
  SET VAR_NAME := 1;
END IF;

UPDATE table_name SET column_name = column_name + VAR_NAME WHERE table_id = NEW.given_id;

我在插入新值时有一个触发器:

我声明了一个变量,我根据某些条件更改了它的值,然后通过将此值添加到满足条件的特定列的当前值来更新表'table_id = NEW.given_id'

即使我没有得到错误,也没有发生预期的结果。

1 个答案:

答案 0 :(得分:0)

是的,正如注释所示,您无法使用正常的相等运算符检查NULL。我理解这一点的方式是没有任何东西等于,小于或大于等,NULL,因为NULL实际上是“没有价值”。

您必须使用IS NULLIS NOT NULL来检查NULL。

此链接进一步详细说明: http://dev.mysql.com/doc/refman/5.7/en/working-with-null.html