MySQL 5.5 を使用しています。mysql トリガー構文を使用してテーブルにトリガーを追加する必要があります: http://dev.mysql.com/doc/refman/5.0/en/trigger-syntax.html
彼らが与えた例は、私がこれを行う方法を説明していません-
私はテーブルを持っています - table(a INT, b INT, c INT);
。fielda
とb
は数値ですが、 fieldc
はa
+である必要がありますb
。今、あなたはなぜこれをビューに平手打ちしてそれを終わらせないのか、あるいはなぜこれを私のコードに入れないのか疑問に思っていると思います. その理由は、バリエーションが必要な場合に値を変更できる、自動計算フィールドの利便性を必要とするクライアントと協力しているためです。彼らは監査会社であり、会社が監査日を逃したなどの理由で、数値のマッサージが必要になることがよくあります。
では、次のようなトリガーを作成するにはどうすればよいですか。
on insert:
make `c` the value of `a` + `b`.
on update:
if the value of NEW.`c`==OLD.`c` THEN
make `c` the value of `a` + `b`.
ELSE
no change
新しい値が古い値と異なる場合に更新が変更されない理由は、実際の合計とは少し異なるように数値を変更する必要があるためです。
私のロジックを自由に変更してください。私の目的は、c
手動で入力された場合は値を保持し、手動で触れられていない場合は爆破することです。
ありがとう!