2012-05-26 77 views
3

在此示例中,字段用户名位于用户表内,字段电子邮件位于配置文件表中。如何在使用JOIN的UPDATE语句上执行WHERE子句?

UPDATE `profiles` 
JOIN `users` ". 
SET `username` = 'foo', 
`email` = '[email protected]' 
WHERE users.user_id = '1' 

在此where子句我使用users.user_id,但这会导致在配置表中的所有字段与电子邮件“[email protected]”进行更新。除WHERE子句中的users.user_id之外,指定profiles.user_id的语法是什么?

回答

6

你需要加入的表是这样的:

UPDATE `profiles` 
JOIN `users` on profiles.user_id = users.user_id 
SET `username` = 'foo', 
`email` = '[email protected]' 
WHERE users.user_id = '1' 
0

试试这个

Update profiles,users set profiles.username='foo',profiles.email_id='[email protected]' 
where profiles.user_id=users.user_id and users.user_id=1