2017-07-03 97 views
-1

主题表中的值:ID,姓名,交货期,开始时间,持续时间,状态MySQL的:写触发表列和更新相同,另一个表

我需要的时候 该表的状态更改为完成开始时间+持续时间达到当前时间。 如果状态更新,我需要将另一列状态更改为完整。

+0

你有什么尝试?显示你的代码。 SO是**不是**代码写入服务。 –

+0

我需要知道这是否可能在Mysql中。触发是最好的解决方案。我无法理解如何根据与当前时间相关的列值使用触发器。 – gaurav

回答

0

当starttime + duration达到当前时间时,我需要将此表的状态更改为完成。

不,触发功能不能支持这个。作为一种替代方案,您可以创建一个后台应用程序来运行一个线程,该线程将定期更新您的主题表格,比如说每分钟。
您可以使用您的后台应用这个SQL语句或“服务”:

update Topic set status = 'completed' where (starttime+duration)<=now() and not status = 'completed'; 

在的情况下,状态更新,我需要改变,因为 完成过另一列状态。

如果我不明白它的错误,可以使用触发器函数来支持这一个。

+0

谢谢。如果我正在使用代码而不是触发器执行任务之一,那么使用代码执行所有任务会更好。 – gaurav

+0

如果适用,我建议尽可能使用触发器功能,因为它更方便,特别是在调试过程中。 – suguspnk

相关问题