Mysql null如果(0,';';)返回null
我有一个触发器,可以将Mysql null如果(0,';';)返回null,mysql,triggers,nullif,Mysql,Triggers,Nullif,我有一个触发器,可以将tinyint(1)boolean列的空字符串转换为null: CREATE TRIGGER convertToNull BEFORE INSERT ON MyTable FOR EACH ROW SET new.myBoolean = nullif(new.myBoolean, ''); 问题是,它还将0转换为null 我查过: mysql> select nullif(0, ''); +---------------+ | nullif(0, '') | +--
tinyint(1)
boolean列的空字符串转换为null
:
CREATE TRIGGER convertToNull
BEFORE INSERT ON MyTable
FOR EACH ROW
SET new.myBoolean = nullif(new.myBoolean, '');
问题是,它还将0
转换为null
我查过:
mysql> select nullif(0, '');
+---------------+
| nullif(0, '') |
+---------------+
| NULL |
+---------------+
1 row in set (0.00 sec)
如何使
null如果
更严格,只有空字符串才会转换为null
?您想做什么?tinyint永远不会是”
我希望tinyint为0、1或NULL。因此,我试图在从tsv文件插入行时将空字符串转换为NULL。但它永远不会是空字符串。触发触发器时,从空白到0
的转换将已经发生。你所尝试的是做不到的。哦,我明白了,我的印象是,在mysql做任何事情之前,触发器就被触发了。