C# 监视MySQL表在C程序中的更改?
是否可以在c#应用程序中监视mysql表的更改?我基本上希望在将数据插入表时引发一个事件。现在我唯一能想到的就是每隔100ms左右查询一次表。如果应用程序和数据库服务器都在同一台机器上,那么您可以在MySQL中设置一个触发器,在插入、更新后将其写入日志文件,然后创建一个触发器来监视该日志文件。FileSystemWatcher将为您的应用程序提供可以响应的文件 触发器可能如下所示:C# 监视MySQL表在C程序中的更改?,c#,.net,mysql,C#,.net,Mysql,是否可以在c#应用程序中监视mysql表的更改?我基本上希望在将数据插入表时引发一个事件。现在我唯一能想到的就是每隔100ms左右查询一次表。如果应用程序和数据库服务器都在同一台机器上,那么您可以在MySQL中设置一个触发器,在插入、更新后将其写入日志文件,然后创建一个触发器来监视该日志文件。FileSystemWatcher将为您的应用程序提供可以响应的文件 触发器可能如下所示: create trigger MyTable_Monitor after insert, update on My
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触发器,以将行记录到一个包含两列的新表中