私はmysqlテーブルに次の構造を持っています:
-------------------------------------
| id | username | lastlogin | days |
-----+----------+------------+-------
| 1 | user-xyz | 2013-04-29 | 0 |
-------------------------------------
上記の「lastlogin」列は日付列で、「days」列は int(3) 列です。私がやりたいことは、ユーザーがログインしている間、いつものようにlastlogin列が毎回更新されることです。同時に、ログイン日 (ユーザーがログインしたとき) が lastlogin 列の日付より後の場合、「日」列が増分されます。ユーザーが同じ日に再度ログインした場合、日付は同じになります (更新されません)。
この場合、mysql クエリは何になりますか?
クエリ形式は次のようになります。
$logindate = date("Y-M-D",time());
UPDATE table
SET lastlogin=$logindate, days=days+1 if $logindate>lastlogin
WHERE usename=user-xyz
クエリを作成するのに役立つ場合は、事前に感謝します。