由MySQL触发器运行的Java
我试图创建一些MySQL代码,从触发器调用Java程序 以下是我到目前为止的情况:由MySQL触发器运行的Java,java,mysql,swing,triggers,Java,Mysql,Swing,Triggers,我试图创建一些MySQL代码,从触发器调用Java程序 以下是我到目前为止的情况: CREATE TRIGGER trig_name after insert ON studentinfo FOR EACH ROW BEGIN END 然后,触发器内容将调用Java程序。这可能吗?从SQL数据库调用java方法不是标准功能。Informix DB可以从存储过程调用shell脚本,但我不知道MySQL中有这样的功能(我不是MySQL方面的专家) 最适合所有数据库的方法是使用一个线程并定期轮询
CREATE TRIGGER trig_name after insert ON studentinfo
FOR EACH ROW
BEGIN
END
然后,触发器内容将调用Java程序。这可能吗?从SQL数据库调用java方法不是标准功能。Informix DB可以从存储过程调用shell脚本,但我不知道MySQL中有这样的功能(我不是MySQL方面的专家) 最适合所有数据库的方法是使用一个线程并定期轮询数据库以获取新记录
SELECT * FROM studentinfo WHERE id > last_seen_id
或者您可以使用时间戳:
SELECT * FROM studentinfo WHERE create_date >= last_seen_create_date
在这种情况下,您必须过滤从上一次运行中加载的重复行。直接回答:不,您不能从mysql触发器调用java方法。如果你有一个oracle数据库,你可以,但不是mysql 要想用mysql做你想做的事情,你可以
- 使更新数据库的代码也通知swing应用程序。或者你可以
- 使触发器将挂起操作的数据累积到一个单独的表中,您可以定期从swing应用程序读取该表李>
实际上,我已经为此编写了一个Java包,所以我100%确信这是可能的,并且性能良好。不幸的是,我不能在这里分享我的成果(我以前的答案被版主删除了),所以你必须自己编写,对不起。。这在mysql中可能吗@stacker@xyz:不,那是不可能的。MySQL不支持触发器和过程的其他语言。它也不会有任何帮助,因为触发器在数据库服务器上运行,并且无法“调用”您的Swing程序(它在完全不同的机器上运行),您必须阅读并尝试1)2)3)请参阅我的答案以获得一个工作示例