次の例のようにトリガーがあります。
BEFORE UPDATE ON icharts_user_stats FOR EACH ROW BEGIN
IF (NEW.col1> OLD.col1
OR NEW.col2 > OLD.col2) THEN
SET NEW.col3 = NEW.col3+1;
SET NEW.col4 = NEW.col4+1; END IF;
IF (NEW.col5> OLD.col5
OR NEW.col6 > OLD.col6) THEN
SET NEW.col7 = NEW.col7+1; END IF;
IF (NEW.col8> OLD.col8
OR NEW.col9 > OLD.col9) THEN
SET NEW.col10 = NEW.col10+1; END IF;
これはswitchステートメントのようなもので、どの時点でも1つの'if'のみが実行されます。上記のコードは機能しますが、最初の'if'がヒットした場合でも、他のすべてのifを通過します。
- それを行うためのより良い方法はありますか?
- 「良いアイデア」の場合、「終了」の直前に「脱退」を使用しています
ありがとう