mysql update无效_Mysql update记录无效如何解决

Mysql update记录无效如何解决

发布时间:2020-12-10 13:52:13

来源:亿速云

阅读:70

作者:Leah

今天就跟大家聊聊有关Mysql update记录无效如何解决,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

在MySQL里面update一条记录,语法都正确的,但记录并没有被更新...

问题语句

4c91a278d52ec65c46b947883f9965ee.png

执行之前的记录是这样的:

81175ae557ff949f82689f7d8f9e338e.png

执行之后的记录是这样的:

970594fcc559f8f06e91193fa068a046.png

可以看到,实际上是有效果的:

63ae8deb6a35eb0878f48eca0c156eb1.png

why?

看起来,语法是完全没有问题,MySQL官方文档的update语法:

bead73e38839f87cb0a972d8fb241168.png

看到assignment_list的格式是以逗号分隔的col_name=value列表,一下子豁然开朗,开发同学想要的多字段更新语句应该这样写:

846a434aa6b66804bc5ce21030861e39.png

小结:在一条UPDATE语句中,如果要更新多个字段,字段间不能使用“AND”,而应该用逗号分隔。

原理:为什么使用“AND”分隔的时候,会出现owner_code=0的奇怪结果? 多次尝试之后发现:

cb9c2e3d6744631a8bb76ae3a4bfcc54.png

5827c0fae43627bf4bd285b84391a5e7.png

而('43212' and owner_name='李四')是一个逻辑表达式,而这里不难知道owner_name并不是‘李四'。因此,这个逻辑表达式的结果为false,false在MySQL中等价于0!

看完上述内容,你们对Mysql update记录无效如何解决有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值