BEFORE INSERT ON table
ユーザーが特定の列に値を挿入した後、値を計算して同じテーブルを更新するMySQL トリガーを使用して います。これは期待どおりに機能します。しかし、ユーザーが入力を間違えてエラーを修正したため、エラーが修正された後に計算値を更新するトリガーを作成したいと考えています。これを達成する方法はありますか?
質問する
7010 次
1 に答える
7
トリガーは、行内のBEFORE UPDATE ON table
既存の値と新しく提供された値にアクセスでき、必要な条件と式に基づいて、テーブル内の任意の列の値を設定できます。
たとえば、関心のある 1 つ以上の列の値が変更されたかどうかをテストしてから、他の列を何らかの式に設定することができます。
DELIMITER $$
CREATE TRIGGER my_before_update_trigger
BEFORE UPDATE ON my_table
FOR EACH ROW
BEGIN
IF NOT ((NEW.col1 <=> OLD.col1) AND (NEW.col2 <=> OLD.col2)) THEN
SET NEW.col3 = NEW.col1 * NEW.col2 ;
END IF;
END$$
DELIMITER ;
于 2013-03-14T16:15:57.227 に答える