我有一个通过网页更新的mysql表。某些列的格式为整数。如果您尝试输入"“、”“或任何无法自动四舍五入为整数的字符串,将会出现mysql错误。我不想编辑我的PHP来处理这些更正,而是想在这个表上执行一个更新前触发器,如果字段值不是正确的整数值,就将其设置为零。在另一篇堆栈溢出帖子中,我发现可以使用ceil(field) = field测试整数值。下面是create trigger语法:
delimiter|
create trigger before_folding_update before update on daily_folding_report
for each row
begin
if ceil(new.jobnum) != new.jobnum then
set new.jobnum = 0;
end if;
end|如果我把do:
update daily_folding_report set jobnum = 'a'我仍然得到这样的错误:Incorrect integer value: 'a' for column 'jobnum' at row 1.还有谁知道我如何完成这个任务吗?
发布于 2011-11-30 00:52:52
据我所知,所有的值检查都是在触发器之前完成的。为什么不在PHP代码中这样做呢?
https://stackoverflow.com/questions/8314446
复制相似问题