mysql 检查一行的最后更新时间

mysql check when a row was last updated

我正在编写一个 MySQL 数据库,如果可能的话,我希望通过事件在 MySQL 数据库本身中完成标题。我正在通过用 VB.net 编写的 Windows 服务更新数据库,并且不想通过单独的 'server control' 类型程序执行以下操作。

基本上,我已将以下内容写入数据库,但它并没有完全满足我的要求:

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);

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

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

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