2013-04-09 63 views
0

我無法在互聯網上的任何地方找到這個答案。我希望能夠監控MySQL表中的一行以進行更改,如果發生這種情況,請運行Python函數。我想運行的這個Python函數與MySQL無關;它只是在Raspberry Pi上啓用一個引腳。我試圖研究SQLAlchemy;然而,我不知道它是觸發器還是數據映射。這是甚麼可能嗎?如何在SQL表中的值更改時執行Python函數?

在此先感謝!

+0

爲什麼不使用'pull'而不是'push'?如果這是一個特定行,只需每隔X分鐘/秒查詢一次更改即可。如果這些可能是多行,創建一個'flag'表並添加'UPDATE'觸發器來改變那裏的標誌,並且你的python應用程序將輪詢更改並設置標誌返回... – van 2013-04-09 20:02:56

回答

2

創建一個循環,它在MySQL表中隨時檢查該行的值,當值更改時,調用您想要執行的函數。 你也可以參考python: how to get notifications for mysql database changes?

+0

聽起來像UDF是隻有這樣做的方法。我只是不想做一個循環,因爲它看起來可能會使數據庫負擔過重。我希望能夠更智能地進行檢查。我的靈感有點像Dropbox。它只在發生變化時纔會同步。 – 2013-04-09 13:59:07

+1

如果你所做的只是從my_table中選擇my_column,那麼......你真的沒有負擔DB – Brad 2013-04-09 14:04:51

+0

真的嗎?如果那是真的,這是一個簡單的解決方案。 – 2013-04-09 14:13:31

2

怎麼樣一個cron作業,而不是創建一個循環?我認爲這有點更好。

相關問題