Mysql:在表列的值上写入触发器并更新相同的表和另一个表

时间:2017-07-03 07:11:21

标签: mysql mysql-workbench

主题表:id,name,duedate,starttime,duration,status

我需要将此表的状态更改为完成时  starttime + duration达到当前时间。 如果状态已更新,我还需要将其他列状态更改为完成状态。

1 个答案:

答案 0 :(得分:0)

  

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

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

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

如果状态已更新,我需要将其他列状态更改为   完成了。

如果我不理解错误,可以使用触发功能支持此功能。