MySQL:更新前触发不起作用

时间:2017-10-27 11:31:46

标签: mysql triggers

我正试图在表的每个记录级别处理更新之前运行触发器。

我要做的是当qst_title列的记录发生更新时,如果列qst_perma_title为NULL,则使用值更新qst_perma_title列在qst_title列中,qst_title列根据原始更新查询进行更新。

我正在使用下面的代码,但没有显示错误,并且qst_perma_title列未更新。

当前值为:

qst_title ='旧标题'

qst_perma_title = NULL

查询

更新TD_QUESTION SET qst_title ='新标题值'WHERE qst_id = 1;

触发

DELIMITER //
CREATE TRIGGER TRG_QST_UPD
BEFORE UPDATE ON TD_QUESTION
FOR EACH ROW
BEGIN
    IF OLD.`qst_perma_title` IS NULL THEN
        SET NEW.`qst_perma_title` = OLD.`qst_title`;
    END IF;
END//
DELIMITER ; 

1 个答案:

答案 0 :(得分:0)

N = 100;
for idx = N:-1:1
    % Compute the rank of N magic squares
    F(idx) = parfeval(@rank, 1, magic(idx));
end
% Build a waitbar to track progress
h = waitbar(0, 'Waiting for FevalFutures to complete...');
results = zeros(1, N);
for idx = 1:N
    [completedIdx, thisResult] = fetchNext(F);
    % store the result
    results(completedIdx) = thisResult;
    % update waitbar
    waitbar(idx/N, h, sprintf('Latest result: %d', thisResult));
end
% Clean up
delete(h)

首先运行此查询,然后尝试更新。我检查过,它对我来说很好。

相关问题