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
我正在编写一个 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