2012-05-26 79 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