触发MySQL更新错误

时间:2014-12-31 10:39:04

标签: mysql triggers sql-update

我在mysql数据库中遇到触发器问题, 问题是,我有这个触发器:

BEGIN
    IF OLD.sincronizado = 'S' THEN
        SET NEW.sincronizado = 'N';
    END IF;
END

每次表中的记录都要更新,我需要将“sincronizado”栏目修改为“N”。当列为'S'并且更新时它会变为'N',但是当它已经'S'并且我对'S'进行更新时,它会变为'N'。

ps:“更新前”。

2 个答案:

答案 0 :(得分:0)

您需要添加其他条件

IF OLD.sincronizado = 'S' and NEW.sincronizado <> 'S' THEN

所以它看起来像

BEGIN
     IF OLD.sincronizado = 'S' and NEW.sincronizado <> 'S' THEN
        SET NEW.sincronizado = 'N';
    END IF;
END

答案 1 :(得分:0)

试试这个

    BEGIN
    IF ( OLD.sincronizado = 'S' AND NEW.sincronizado != 'S' )THEN
        SET NEW.sincronizado = 'N';
ENDIF ;

END