Jun
Mysql query questions
I have two tables:
users and active
The active table contains 3 fields:
ID, UID, TIME
users table contains:
ID, user, AC
example:
users:
1 xxx 0
2 xxa 3
3 asdas 5
4 sdss 1
active:
1 1 55545412
2 1 45454154
3 1 45541212
4 2 54541245
5 2 54541541
i need to increase the AC by 1, if (UNIX_TIMESTAMP()-active.TIME)<3600, and only once for each uid.
The system i’ve been using is somewhere like:
|
$r=mysql_query("SELECT DISTINCT uid FROM active WHERE (UNIX_TIMESTAMP()-active.TIME)<3600"); |
But i want to use only one query, for performance reasons…
Something like:
|
Update users SET ac=ac+1 WHERE (UNIX_TIMESTAMP()-active.TIME)<3600 AND users.id=active.uid |
but with DISTINCT uid into the active table.
Can anyone help?
Thanks
Relevant Links

