需求分析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}