2010-11-09 87 views
0

我有2個表,一個用於user_data,一個用於user_stats。我試圖根據user_stats表的最後一個登錄字段,將所有用戶的user_data字段更新爲單個值(「active」)。基於第二個表字段值的MySQL質量表更新

我試圖避免一個循環,因爲所有相應的字段將被更新爲「活動」。

繼承人基本上就是我試着做到: UPDATE USER_DATA將狀態設置= '主動' WHERE user_stats.login < = '$ LAST_LOGIN'

+0

你可能想編輯你以前的問題並刪除這個問題;因爲你在問同樣的事情。 – GendoIkari 2010-11-09 22:10:59

回答

1

類似下面的加盟應該工作:

UPDATE user_data, user_stats 
SET user_data.status='active' 
WHERE user_stats.user_id=user_data.user_id 
AND user_stats.last_login <= '$lastlogin' 

您可能需要更改用於連接更新查詢表,以滿足您的表中的字段。

0

你必須巢然後將查詢:

UPDATE USER_DATA SET狀態= '主動' WHERE user_ID的IN(SELECT ID FROM user_stats WHERE登錄< = '$ LAST_LOGIN')

總的來說,我建議你考慮一個完全不同的架構

相關問題