有没有办法,使用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端执行此操作。
答案 0 :(得分:0)
不幸的是,SQL(所有版本)严格执行数据类型。
这发生在任何触发器代码运行之前。
你必须测试"" (空字符串)