首页 > 解决方案 > 使用更新查询时遇到问题

问题描述

我有两个表 x 和 y 在我的数据库中包含两列(电子邮件和密码)。

我无法理解如何使用 where (email=...) 子句更新表中的密码,以便如果电子邮件属于 x 表,那么它的密码得到更新,或者如果电子邮件属于 y 表,那么它的密码得到更新。

我以这种方式尝试了给定电子邮件属于 x 表的方式,以便执行第一个查询。

UPDATE x SET password="qas" where email="adsf@gmail.com";
UPDATE y SET password="qas" where email="adsf@gmail.com";

我能够更新单独的(两个)查询,但我想要一个查询来检查两个表中的电子邮件并更新密码。

标签: mysql

解决方案


如果 2 个表是相关的,那么您可以使用连接进行更新:

UPDATE x 
JOIN y ON x.email = y.email
SET x.password = "qas", y.password = "qas" 
where x.email="adsf@gmail.com";

如果这 2 个表不相关,则无法在单个查询中更新


推荐阅读