mysql后台以固定间隔增加列的值

时间:2015-05-21 06:29:46

标签: java mysql database netbeans

我在mysql中有一个数据库。我想按特定数量增加特定列的值。我已经使用java应用程序(通过netbeans)连接此数据库。我相信这只能通过存储过程或函数在数据库级别发生。 专栏说' x'如果sysdate和date(另一列)之间的差异大于15天,则需要增加1000。

我无法通过应用程序端的触发器执行此操作,因为这将需要登录到应用程序,如果未触发触发器,则不会发生计划的增加。

帮帮我吧!

2 个答案:

答案 0 :(得分:0)

您必须为insert语句创建触发器。例如;

CREATE TRIGGER insert_check BEFORE INSERT ON yourTable
FOR EACH ROW
    BEGIN
        IF NEW.amount < 0 THEN
            SET NEW.amount = 0;
        ELSEIF NEW.amount > 100 THEN
            SET NEW.amount = 100;
        END IF;
    END;

答案 1 :(得分:0)

您可以在MYSQL中定义EVENT。 E.g。

CREATE EVENT event_update_something
    ON SCHEDULE
      EVERY 10 SECOND
    DO
      ALL YOUR LOGIC HERE

查看更多here

或者您可以在java端定义Sheduler,例如石英工作。如果你使用弹簧。查看示例here

无论如何,你应该定义一个定期调用的动作(例如10秒间隔)。该操作检查某些状态并更新必要的数据。