需求分析sql
用户能够用手机号码 或 邮箱名 +新旧密码 来修改该帐号的密码
测试
我写的SQL以下code
update t_user set PASSWORD = #{newPassword} where PHONE_NUM = #{loginInfo} or EMAIL = #{loginInfo} AND t_user.PASSWORD = #{oldPassword}
上述SQL的本意是:用户输入的帐号(手机号码或者邮箱名)与密码同时正确时,即可修改该帐号的密码。class
结果,测试过程当中发现,or后面的AND条件好像不起做用,换句话中,不管旧密码输入什么,总体修改密码功能都能成功。
date
网上搜索一下,现改为以下,能够知足需求。来不及思考缘由,大体推测下,是因为or在AND前面引发的,先记录下来,之后找时间将这个弄懂。搜索
update t_user set PASSWORD = #{newPassword} where t_user.PASSWORD = #{oldPassword} AND PHONE_NUM = #{loginInfo} or EMAIL = #{loginInfo}