我想構建一個觸發器,問題是它不工作。我有語法問題。我需要構建一個觸發器,它將在表更新之前用同一個表中的另一條記錄更新表。下面的觸發器描述了我想要做的事情,但它不起作用。觸發MSQL大問題,SQL不工作?
$deletequery = '
DELIMITER //
CREATE TRIGGER after_insert_job_sent
AFTER INSERT
ON Envato_CustomConfig_job_sent FOR EACH ROW
BEGIN
DELETE FROM `Envato_CustomConfig_Job_Queue`
WHERE Job_ID = '.$value['Job_ID'].'
AND email -'.$value['email'].';
UPDATE `envato_customconfig_job_status` SET `email_Sent_Count`= email_Sent_Count+1
WHERE Job_ID = '.$value['Job_ID'].'
END; //
DELIMITER;
insert into Envato_CustomConfig_job_sent
values (NULL , '.$value['Job_ID'].', '.$value['email'].', now();
';
編輯:
爲什麼我的查詢追加其他記錄藏漢.... 所以基本上它是在更新工作不過是添加一個到最後一個記錄數據庫。我試過極限它沒有工作。有任何想法嗎。
insert into Envato_CustomConfig_job_sent
values (NULL , '37', 'email', now());
DELETE FROM Envato_CustomConfig_job_queue
WHERE Job_ID = '37'
AND email ='email';
UPDATE envato_customconfig_job_status SET `email_Sent_Count`= email_Sent_Count+1
WHERE Job_ID = '37';
你爲什麼要在它外面創建一個觸發器和一個簡單的jane其他stmt,將它們全部包裝在一個字符串中。 – Drew
我不明白。 @Drew –
觸發器必須以自己的優點存儲在數據庫中,並堅持。它沒有按照你這樣做的方式,嵌入式PHP塊'WHERE Job_ID ='。$ value ['Job_ID']'' – Drew