0

私は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

クエリを作成するのに役立つ場合は、事前に感謝します。

4

1 に答える 1