3

ここで私はどんな間違いをしましたか?

CREATE TRIGGER total BEFORE UPDATE ON `current` FOR EACH ROW
BEGIN
if new.`new_pay_date` <> old.`new_pay_date`
  SET new.`total_cash` = new.`curr_cash` + new.`total_cash`;
end if;
END;
$$

エラー:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET new.`total_cash` = new.`curr_cash` + new.`total_cash`; end if;' at line 4

これはなくても機能していました

if new.`new_pay_date` <> old.`new_pay_date`
end if;

しかし、これを確認する必要があり、日付の変更のみで更新します。

現在のテーブル:

curr_cash
new_pay_date
id_person
id_thing
total_cash

誰でもこれで私を助けることができますか?

4

1 に答える 1

4

THENif ステートメントの最後に追加してみてください。

IF new.`new_pay_date` <> old.`new_pay_date` THEN
    SET new.`total_cash` = new.`curr_cash` + new.`total_cash`;
END IF;
于 2012-12-03T17:34:02.337 に答える