鍍金池/ 問答/PHP  Linux/ 如何一直監(jiān)聽數(shù)據(jù)庫某個(gè)表,當(dāng)有數(shù)據(jù)增加時(shí),向另外的一個(gè)表插入,并改變狀態(tài)。

如何一直監(jiān)聽數(shù)據(jù)庫某個(gè)表,當(dāng)有數(shù)據(jù)增加時(shí),向另外的一個(gè)表插入,并改變狀態(tài)。

目前項(xiàng)目有一個(gè)需求要一直監(jiān)聽數(shù)據(jù)庫某個(gè)表,當(dāng)有數(shù)據(jù)進(jìn)入馬上向另一個(gè)表插入數(shù)據(jù)。
我現(xiàn)在使用的就是在php頁面使用while(ture)一直執(zhí)行。用shell腳本進(jìn)行監(jiān)聽,讓這個(gè)PHP文件運(yùn)行在cli模式下,
可是各位還有沒有更好的方法呢?希望評論區(qū)各位給出你們的建議。感謝

再說一句,我用的是sql server 的數(shù)據(jù)庫。。

回答
編輯回答
傻叼

一樓說的情況針對同一個(gè)庫里面可以這樣搞,二樓說的我想應(yīng)該可以滿足你的需求。通過數(shù)據(jù)庫中間件來實(shí)現(xiàn)

2018年9月3日 22:58
編輯回答
深記你

也許你需要引入一個(gè)讀寫數(shù)據(jù)庫的中間件,所以對數(shù)據(jù)庫的讀寫都經(jīng)過這個(gè)中間件,中間件解析讀寫操作的類型,在這個(gè)里面注冊事件

2018年7月29日 17:43
編輯回答
筱饞貓

你需要的是觸發(fā)器.

簡單說下觸發(fā)器能干什么,"觸發(fā)器是通過事件(增、刪、改)進(jìn)行觸發(fā)而被執(zhí)行的操作。其在表中數(shù)據(jù)發(fā)生變化時(shí)自動執(zhí)行"

你看,是不是還挺符合你“有數(shù)據(jù)插入時(shí),去另一個(gè)表操作一下”的需求

觸發(fā)器大體格式:

create trigger <trigger-name> on <table-name> update|insert|delete as <your-sql-want-to-proceed>

具體自己去查查吧

2018年9月12日 18:29
編輯回答
墨染殤

寫個(gè)存儲過程不就得了。沒必要去監(jiān)控這個(gè)東西

2018年8月15日 09:53
編輯回答
久礙你

有個(gè)思路:寫個(gè)接口。。向監(jiān)測的表中插入數(shù)據(jù)的時(shí)候,請求這個(gè)接口。。然后在接口里操作另一個(gè)表。感覺應(yīng)該可行

2017年4月9日 21:39
編輯回答
帥到炸

結(jié)合一樓的思路,使用觸發(fā)器,然后調(diào)用外部程序 可以參考這個(gè)http://www.qingfengju.com/art...

但是如果二樓的方案能夠?qū)嵤┑脑?,建議還是按照二樓的方式進(jìn)行。

2017年8月25日 04:54