mysql错误执行

将玩家等级c_level小于20的所有角色的经验c_exp设置为10000,等级c_level设置为20,可用:
update t_char set c_exp=10000 , c_level = 20 where c_level < 20;

然而,在使用该语句时写成了:

update t_char set c_exp=10000 and c_level = 20 where c_level < 20;

语句可以执行成功,但语句将被解析为:

update t_char set c_exp= (10000 and c_level = 20) where c_level < 20;

即c_exp设置为(10000 and c_level = 20),一个布尔值,在此例中c_exp将被设置为0。
逻辑AND:当所有操作数均为非零值、并且不为NULL时,计算所得结果为 1 ,当一个或多个操作数为0 时,所得结果为 0 ,其余情况返回值为 NULL 。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值