十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
本篇内容主要讲解“容易犯错的update操作是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“容易犯错的update操作是什么”吧!
10年积累的成都网站设计、网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站策划后付款的网站建设流程,更有两当免费网站建设让你可以放心的选择与我们合作。
我们在1条SQL中对多值update 时,有木有被'and'迷惑,误将',' 写成了'and'。
下面看看两个语句的区别,我们目的要将beijing 表id<=2 的uid gid 的值各+1000 :
#1 update beijing set uid=uid+1000 and gid=gid+1000 where id <=2 ;
#2 update beijing set uid=uid+1000 , gid=gid+1000 where id <=2 ;
1、首先看数据:
2、#1的update操作,Query OK,匹配了2条并变更了2条。并且NO warnings; 这时候我们可能认为SQL执行正确。
再select beijing表,id<=2 的uid=0 , 而gid 没有变化,显然不是我们想要的结果。
3、为什么会产生错误的结果呢? 我们看下面SQL,MySQL将“uid+1000 and gid=gid+1000”的值赋给了uid ,
“uid+1000 and gid=gid+1000”这个条件为假,MySQL中假即= 0 ,从而导致了uid 赋值为0 而gid 并未更新。
4、正确的写法如#2 update beijing set uid=uid+1000 , gid=gid+1000 where id <=2 ;
到此,相信大家对“容易犯错的update操作是什么”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!