2014-06-26 18 views
0

調用PHP代碼...需要一個替代的解決方案 - 而不是從我有兩條表考慮Table 1和Table觸發

我需要插入table1中後做一個觸發.. 觸發必須做有些東西就像

使用select查詢從其他兩個表中檢索數據(它檢索多個行)使用檢索到的數據做一些計算,然後它需要將它作爲單行插入到table2中。 我認爲它不是可能做到這些與觸發..所以我決定調用一個PHP文件從那個觸發器做所有這些事情..但有些人說,從觸發器調用PHP實際上並不是咕嚕咕嚕d,它有一定的安全隱患..

我需要你的建議對我的問題...請不下來投票或neglect..If我的問題 不清楚問我來編輯...

+0

什麼阻止你寫PHP來做到這一點? –

+0

不要寫觸發器。把整個事情放在php中。插入 - >檢查是否成功 - >做你的事情 – SNAG

+0

@SNAG謝謝,但請解釋我,因爲我是一個初學者在PHP – user3496195

回答

0

一個簡單的例子將幫助你。

$sql="INSERT INTO `table1` (FirstName, LastName, Age) 
VALUES ('$firstname', '$lastname', '$age')"; 

$result = mysql_query($sql) ; 

if($result) 
{ 
// Record successfully inserted , place your code which needs to be executed after successful insertion 
} 

else 
{ 
// Insertion failed 
} 

我想你會使用庫MySQLi而不是mysql的監守mysql_query被棄用的PHP 5.5.0,但是這僅僅是一個例子,以幫助您理解的邏輯。

+0

我需要做的即使即時通訊不插入使用php.that是如果我直接插入到數據庫表或通過導入Excel到表 – user3496195

0

好了,你..在這種情況下,你需要創建一個TRIGGER這樣的事情。

CREATE 
    TRIGGER `event_name` BEFORE/AFTER INSERT/UPDATE/DELETE 
    ON `database`.`table` 
    FOR EACH ROW BEGIN 
     -- trigger body 
     -- this code is applied to every 
     -- inserted/updated/deleted row 
    END; 

已經回答了此問題檢查下面的鏈接。

MySQL trigger On Insert/Update events

希望這有助於。

+0

我需要從表中檢索數據,然後做一些操作,然後我需要插入到另一個表 – user3496195

+0

這是你在你的問題中解釋的答案,現在你說的是不同的東西。 – Adeel

相關問題