Действительно ли возможно контролировать mysql таблицу для изменений в рамках c# приложения? Я в основном хочу, чтобы событие было повышено, когда данные вставляются в таблицу. Единственная вещь, о которой я могу думать теперь, состоит в том, чтобы запросить таблицу каждые 100 мс или около этого.
Если приложение и сервер базы данных находятся на одном компьютере, вы можете настроить триггер в MySQL, который будет записывать в файл журнала ПОСЛЕ ВСТАВКИ , ОБНОВЛЕНИЕ и затем создайте 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
Одна проблема, которую я вижу в приведенном выше коде, заключается в том, что файл вывода не может быть добавлен (насколько я могу судить), поэтому могут возникнуть проблемы, если за один вызов выполняется несколько запросов. (или даже несколько запросов, выполняемых одновременно разными клиентами). Любые предложения по улучшению приветствуются.