我想在c#中创建一个在mysql表中插入新记录时触发的事件。我想避免每次轮询桌子。
你认为有可能吗?
提前致谢
答案 0 :(得分:1)
MySQL这样的DBMS是一个多用户系统,因此只有数据库本身知道何时插入数据。
MySQL支持触发器,允许您在从表中读取,插入,更新和删除某些数据时执行操作。
通常这样做是为了对系统中的其他表执行类似的操作,但MySQL确实支持称为UDF的功能 - 用户定义的功能,允许您从触发器调用外部程序。
我自己并没有这样做,只知道理论,但如果你为MySQL搜索UDF,那么我相信你可以找到一些例子。
以下是一些例子:
http://crazytechthoughts.blogspot.de/2011/12/call-external-program-from-mysql.html
Calling an url from a trigger in mysql
然后,您可以使用它与您的程序进行交互。但是要小心性能,因为触发器是同步调用的。
获取触发器通过消息总线发送消息可能是一个想法,然后您可以通过消息总线进行监听。