我想构建一个触发器,问题是它不工作。我有语法问题。我需要构建一个触发器,它将在表更新之前用同一个表中的另一条记录更新表。下面的触发器描述了我想要做的事情,但它不起作用。触发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