基于第二个表字段值的MySQL质量表更新

时间:2010-11-09 22:07:53

标签: php mysql

我有2个表,一个用于user_data,另一个用于user_stats。我试图根据user_stats表的最后一个登录字段将所有用户的user_data中的字段更新为单个值(“活动”)。

我试图避免循环,因为所有相应的字段都只会更新为“活动”。

基本上是我试图做的事情: UPDATE user_data SET status ='active'WHERE user_stats.login< ='$ last_login'

2 个答案:

答案 0 :(得分: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'

您可能需要更改用于连接更新查询中的表的字段以适合您的表。

答案 1 :(得分:0)

您必须嵌套查询:

UPDATE user_data SET status ='active'WHERE user_id IN(SELECT id FROM user_stats WHERE login&lt; ='$ last_login')

总的来说,我建议考虑一个完全不同的架构