mysql - 使用更新查询时遇到问题
问题描述
我有两个表 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";
我能够更新单独的(两个)查询,但我想要一个查询来检查两个表中的电子邮件并更新密码。
解决方案
如果 2 个表是相关的,那么您可以使用连接进行更新:
UPDATE x
JOIN y ON x.email = y.email
SET x.password = "qas", y.password = "qas"
where x.email="adsf@gmail.com";
如果这 2 个表不相关,则无法在单个查询中更新
推荐阅读
- amazon-web-services - AWS Dynamodb 扫描订购?
- java - 如何在一个活动中将弹出菜单添加到多个按钮?
- graphql - 根据 react-apollo 中的查询结果更新本地配置
- r - 如何计算一个变量的平均值对于不同变量的重复测量的特定值?
- windows - 在 CMD 批处理文件中,我可以确定它是否是从 powershell 运行的吗?
- java - 如何使用 Java 获取 JVM xmlxBytes 指标
- php - Laravel 测试 - UnauthorizedException:用户没有正确的角色
- sql - SSIS SQL statement with user parameter (int) in a like
- c++ - 为什么我无法理解的 C++ 代码中有不同的输出?
- python-3.x - 如何在 python 运行时添加导入语句?