2016-10-27 8 views
0

私はSQLに新しいので、私はあなたの助けを求める。私のDBには、 "名前"、 "緯度"、 "lng"、 "エラー"などのフィールドを持つ "テーブル"というテーブルがあります。今私は各更新イベントのこのテーブルのエラーフィールドをチェックし、エラー値> 3を持つ行を削除したいと思います。私はこの役割のためにトリガーを使用することができます、私は次のコードを書いたと思います:トリガー(Mysql)を作成する方法

DELIMITER $$ 

DROP TRIGGER IF EXISTS `trigger_update`; 
DELIMITER // 
CREATE TRIGGER `trigger_update` AFTER UPDATE ON `table` 
FOR EACH ROW BEGIN 
     DELETE FROM `table` WHERE error > 3; 

    END 
// 
DELIMITER ; 

しかし、私はテーブルを更新し、行のエラーフィールドが3より大きい場合は何も起こりません。 私の英語と私の間違いで申し訳ありません。 eveybodyに感謝します。

UPDATE @RiggsFolly、あなたはこのようにコードを修正すると言っていますか?私はsintaxエラーを取る。私はこのことを知っている

DELIMITER $$ 

DROP TRIGGER IF EXISTS `trigger_update`; 
CREATE TRIGGER `trigger_update` AFTER UPDATE ON `table` 
FOR EACH ROW BEGIN 
     DELETE FROM `table` WHERE error > 3; 

    END;$$ 
DELIMITER ; 

@Jmonsは、名前「テーブル」は、DB内のテーブルには、感謝を別の名前を持っている唯一の例のようになります。 間違ったタグを挿入しました。申し訳ありません。

+0

は '' ENDにEND'を修正し、この行 'DELIMITER //' – RiggsFolly

+0

を削除; $$ ' – RiggsFolly

+0

削除行やや無関係' // ' – RiggsFolly

答えて

関連する問題