我有表X和字段EndTime(DateTime)和Status(int) 状态有2个条件。 1个用于预订,0个用于可用
当EndTime(DateTime)等于当前时间时,我希望自动将状态值从1更新为0。
我是如何制作的?
注意:它适用于在建筑物内的人员的注册,以及他们离开的时间和时间。当时间结束时Status(int)将自动从1变为0。
答案 0 :(得分:2)
你没有提到你问的是哪个数据库。让我们假设MySQL和Postgres。
简短回答是,这些数据库都没有提供基于某些条件更新行的本机方式。您可以使用触发器来执行将在更新行时运行的函数,但无法保证它将针对条件EndTime == CurrentTime
运行。
我认为您需要做的是实施一个按计划运行的外部流程,例如: cron,找到即将过期的所有行并自行更新。