mysql检查上次更新行的时间

时间:2015-04-13 10:52:24

标签: mysql events if-statement sql-update

我正在编写MySQL数据库,如果可能的话,我希望通过Events在MySQL数据库中自己做标题。我正在通过用VB.net编写的Windows服务更新数据库,并且不希望通过单独的“服务器控制”类型程序执行以下操作。

基本上,我已将下面的内容写入数据库,但它并不能完全符合我的要求:

Create Event MachineOffline
On 
    SCHEDULE Every 2 Minute
Do 
    UPDATE maindb.monitortable SET Online='1';

我想说出如下内容:

Create Event MachineOffline
On 
    SCHEDULE Every 2 Minute
Do 
    IF **RowX updated < 2 minutes ago** then
    UPDATE Database.Table SET Online='0' where RowX(ID);

我不知道如何实现这一点,因此我向大家提出了一个问题。我不想创造

1 个答案:

答案 0 :(得分:1)

如果你给Database.Table一个额外的列,比方说last_updated timestamp,你可以这样更新它:

update Database.Table 
  set online=0, last_updated = now()
  where last_updated <= now() - interval 2 minute
    and online=1