使用mysql将字符串转换为tinyint(bool)

时间:2011-11-27 20:08:57

标签: mysql sql

有没有办法,使用TRIGGER或最好是一些我不知道的MySql函数,如果传递任何值,自动将TINYINT列的值赋值为'1'它?

例如,如果我在该列中有columnA(TINYINT)和INSERT“doggybones”:

INSERT INTO mytable (columnA) VALUES ("doggybones")

...然后mysql会自动将值“1”分配给columnA,而不是在尝试将string添加到TINYINT列时出错?

它也应该工作,如果我插入“” - 空值,但INSERT语句仍然会列出它,如下所示:

INSERT INTO mytable (columnA) VALUES ("")

...然后该列将收到值0。

注意:我知道我可以将我的值过滤到INSERT 0和1,但我想知道是否有办法在mysql端执行此操作。

1 个答案:

答案 0 :(得分:0)

不幸的是,SQL(所有版本)严格执行数据类型。
这发生在任何触发器代码运行之前。

你必须测试"" (空字符串)