在我的项目中,我有一个SQL表来跟踪已记录的用户。如果用户已登录,则标志字段将设置为true
,如果用户注销,则相同的标志将设置为false
。
应用程序(C#)负责打开或关闭标志,当用户登录并在关闭应用程序之前注销时,一切正常。
然而,当用户登录并且在停电的情况下 - 例如 - 在客户端电源关闭但在服务器端没电 - 用户连接将在应用程序设置{{1 }}标记到logged
。为了补偿这种不确定性的情况,我希望SQL服务器定期检查(比如每5分钟一次),客户端是否仍然存在/已记录/活动状态。
如何在服务器端为此案例创建触发器?
答案 0 :(得分:1)
另一种方法是在数据库中简单地使用last-contact-time
并让客户端每4.5分钟通知服务器客户端仍然“登录”。
要获取“登录用户”,只需选择now
小于last-contact-time
加上5分钟的位置。