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

时间:2012-05-26 04:30:53

标签: mysql

在此示例中,字段用户名在users表中,字段电子邮件在profiles表中。

UPDATE `profiles`
JOIN `users` ".
SET `username` = 'foo',
`email` = 'bar@aol.com'
WHERE users.user_id = '1'

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

2 个答案:

答案 0 :(得分:8)

你需要加入这样的表:

UPDATE `profiles`
JOIN `users` on profiles.user_id = users.user_id
SET `username` = 'foo',
`email` = 'bar@aol.com'
WHERE users.user_id = '1'

答案 1 :(得分:0)

试试这个

Update profiles,users set profiles.username='foo',profiles.email_id='foo@foo.com'
where profiles.user_id=users.user_id and users.user_id=1