2012-02-25 165 views
-1

我需要我的PHP腳本只有當我的mysql數據庫是:UPDATING或INSERTING時纔會做某些事情。我可以在mysql中使用觸發器以用於php嗎?

我不知道該怎麼做。存在這樣做的任何功能? 我想過一個在mysql中使用觸發器的解決方案,以便在更新或插入時發出警告。並執行我的PHP腳本的功能。我可以這樣做嗎?

例子: (在我的PHP腳本)

If ($trigger-> _updating) { 
    echo 'Works update'; 
} elseif ($trigger-> _inserting) { 
    echo 'Works insert'; 
}else{ 
    echo 'did nothing'; 
} 

更多細節:

我嘗試這樣做:做一個檢查時,在我的mysql數據庫是一個表的更新,或當你插入新記錄放入同一張表中。

用於什麼?對於我的PHP腳本,當它是更新或插入時,更新HTML頁面中的表格中的數據或插入新數據。因爲我現在正在做的是:如果你想更新表中的數據(或者檢查是否有更新),我有一個按鈕,你做的是一個SELECT *,然後將數據替換爲表(這對我來說效率很低,因爲它非常成本) 新插入的記錄也會發生同樣的情況。我想要改進代碼,不要一無所有地完成整個過程。

+1

您能否介紹一下您正在嘗試做的事情?爲什麼你需要一個PHP腳本作爲MySQL觸發器? – Alp 2012-02-25 13:22:00

+0

@Alp好吧,我添加更多細節 – Dvex 2012-02-25 13:59:36

+0

@Dvex - 不要讓事情太複雜。使之合乎邏輯。如果您遇到性能問題,請檢查查詢是否使用索引,執行一些分析並找出瓶頸。這樣可以節省時間和精力,而不是第二次猜測。 – 2012-02-25 14:05:13

回答

2

不要讓PHP來做到這一點。

改爲構建數據庫的方式保持一致性,無論使用哪種技術(PHP,C++甚至是命令行程序MySql)。通過使用約束和觸發器來做到這一點。這樣數據庫中的數據永遠不會損壞或無效。

相關問題