如何在使用JOIN的UPDATE语句上执行WHERE子句?

TK1*_*123 4 mysql

在此示例中,字段用户名在users表中,字段email在profiles表中.

UPDATE `profiles`
JOIN `users` ".
SET `username` = 'foo',
`email` = 'bar@aol.com'
WHERE users.user_id = '1'
Run Code Online (Sandbox Code Playgroud)

在这个where子句中,我使用的是users.user_id,但这会导致配置文件表中的所有字段都使用电子邮件"bar@aol.com"进行更新.除了WHERE子句中的users.user_id之外,指定profiles.user_id的语法是什么?

som*_*ath 8

你需要加入这样的表:

UPDATE `profiles`
JOIN `users` on profiles.user_id = users.user_id
SET `username` = 'foo',
`email` = 'bar@aol.com'
WHERE users.user_id = '1'
Run Code Online (Sandbox Code Playgroud)