3

I want to update a password field from a given value that exists from another table.

user_info:

--------------------------------------------
| user_login | password                    |
|------------|-----------------------------|
| ad         | $2a$12$oGBdoD....ia9mk25OHu |
--------------------------------------------

user_contacts

-------------------------
| user_login | email    |
|------------|----------|
| ad         | ad@...com|
-------------------------

I would like to change the password by identifying the user_login using the associated email address. So, something like:

UPDATE user_info SET password = '$2a$11$fwea...IEI' WHERE user_contacts.email = 'ad@...com';

Would anyone have an idea how to go about this? I've been trying to search for an answer online, but I've either not been able to find anything relating to this.

Cheers!

1

I believe this can be solved relatively quickly, by adding a FROM clause to your UPDATE, and adding an additional equality condition, namely, adding user_info.user_login = user_contacts.user_login.

UPDATE user_info SET password = '$2a$11$fwea...IEI' 
FROM user_contacts
WHERE user_info.user_login = user_contacts.user_login
AND user_contacts.email = 'ad@...com';

This will almost certainly do what you are asking.

Refer to the PostgreSQL Documentation on UPDATE for more info.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.