【发布时间】:2020-03-06 03:24:22
【问题描述】:
这是任何数据库管理员都需要完成的一项常见任务。这是一个简单的黑名单。我有 2 个表格,其中有共同的“电子邮件”字段。如果电子邮件在第一张桌子上匹配,我想要做的是在第二张桌子上设置 active=0。
这是伪代码
即update users set active =0 (on first table) 其中表 2 上的电子邮件与表 1 上的电子邮件匹配
最优雅的方法是什么?
表 1 名称 = '用户' 表 2 名称 = '黑名单'
这是更新后的脚本。我能够根据回复撰写正确的答案。响应是更新表 2 而不是表 1 - 即相反。
这是完成的脚本...
update users u
inner join blacklist b on u.email=b.email
set u.active=0 ;
有一个与此类似的帖子给出了答案,但是如何用他们给出的答案来做到这一点并不是很明显。看看....
Update column based on matching values in other table in mysql
【问题讨论】:
标签: mysql sql database join sql-update