首页 > 代码库 > 数据库update的异常一例
数据库update的异常一例
调查一列bug,偶然发现了update的一个特性:update t set a=a+1 where id=4; 这样一条简单的语句,也会发生让人意外的事情:
如果 a 的初始值为null时,无论你update多少次,a 的值始终是 null !!!!!!
直接上图:
测试了一下 mysql, sql server 2008都是一样的,处理方法类似,mysql 有 ifnull(a,0) ,sql server 中有 isnull(a,0) 方法:
update model_model set accuracy_num=ISNULL(accuracy_num,0) + 1, accuracy_total=ISNULL(accuracy_total,0) + #accuracyTotal:DECIMAL# where id=#id:BININT# and status=1
数据库update的异常一例
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。