MySQL触发整数变量
我想这样做:MySQL触发整数变量,mysql,triggers,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;
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.gived_id”来更新表
即使我没有得到错误,期望的结果也不会发生。正确,正如注释所示,您不能使用普通的相等运算符检查NULL。我理解这一点的方式是,没有任何东西等于、小于或大于,等等,NULL,因为NULL字面上是“无值” 您必须改为使用
IS NULL
或IS NOT NULL
检查NULL
此链接将进一步详细介绍:
对,正如注释所示,您不能使用普通的相等运算符检查NULL。我理解这一点的方式是,没有任何东西等于、小于或大于,等等,NULL,因为NULL字面上是“无值” 您必须改为使用
IS NULL
或IS NOT NULL
检查NULL
此链接将进一步详细介绍:
使用
NEW.field\u名称不为空
而不是NEW.field\u名称!=NULL
和NEW.field_name为NULL
而不是NEW.field_name=NULL
@GiorgosBetsos yeap。Ευχαριστώ!使用NEW.field\u名称不为空
而不是NEW.field\u名称!=NULL
和NEW.field_name为NULL
而不是NEW.field_name=NULL
@GiorgosBetsos yeap。Ευχαριστώ!的确谢谢你的链接,真的。谢谢你的链接。