[英]Is it possible to trigger a script or program if any data is updated in a database, like MySQL?
它不必完全是數據庫內部的觸發器。 我只想知道我應該如何設計它,以便在MySQL或SQL Server中進行更改時,可以觸發一些腳本。
一種方法是在數據庫中最后更新的行上保留一個計數器,然后您需要在短時間內通過python不斷輪詢(檢查)數據庫以查找新記錄。
如果計數器中的值增加,則可以使用subprocess
模塊來調用另一個Python腳本。
可以從MySql觸發器執行外部腳本,但是我從未使用過它,也不知道類似這樣的含義。
MySql提供了一種實現自己的功能的方法,稱為用戶定義函數 。 這樣,您可以定義自己的函數並從MySql事件中調用它們。 您需要按照MySql提供的接口在C程序中編寫自己的邏輯。
幸運的是,已經有人編寫了一個庫來從MySql調用外部程序: LIB_MYSQLUDF_SYS 。 安裝后,以下觸發器應起作用:
CREATE TRIGGER Test_Trigger
AFTER INSERT ON MyTable
FOR EACH ROW
BEGIN
DECLARE cmd CHAR(255);
DECLARE result int(10);
SET cmd=CONCAT('/YOUR_SCRIPT');
SET result = sys_exec(cmd);
END;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.