监视MySQL表以查找C#程序中的更改?

是否可以监视mysql表以查找ac#application中的更改? 我基本上希望在将数据插入表中时引发事件。 我现在唯一能想到的是每100ms左右查询一次表。

如果应用程序和数据库服务器都在同一台机器上,您可以在MySQL中设置一个触发器,该触发器在写入日期文件后进行INSERT,UPDATE,然后创建一个FileSystemWatcher来监视该日志文件。 FileSystemWatcher将在您的应用程序可以响应的文件更改时触发事件 。

触发器可能看起来像这样:

create trigger MyTable_Monitor after insert, update on MyTable for each row begin select * from new into outfile "path/to/table.log" end 

我在上面的代码中看到的一个问题是outfile不能被附加到(最好我可以告诉),所以如果在一次调用中执行多个查询(或者甚至是不同客户端同时执行多个查询),则可能会遇到问题。 欢迎任何改进建议。

也许将Insert,Update,Delete触发器添加到表中以记录具有两列的新表中的行。

  1. 行的uid改变了
  2. 更改类型插入/更新/删除

然后,您访问此表,它会告诉您具体插入,更新,删除哪些行。