2017-07-25 6 views
0

後でデータベースに入力する重複データをフィルタリングするためのトリガーまたは制約を作成する方法。 重複は、sensor_id時間の両方が同じであることを意味します。例えばトリガーまたは制約を作成して重複データをファイリングする

、今の表では、今、私は春ブーツのリポジトリを通じてテーブルに新しいデータを挿入

rain_gage sensor_id time 
2.434  6000  2017-07-24 14:23:55 
5.324  6010  2017-07-24 09:12:22 

です。

rain_gage sensor_id time 
2.434  6000  2017-07-24 14:23:55 
5.324  6010  2017-07-24 10:23:19 

Iは、トリガーまたは制約フィルタ行(2.434、6000、2017年7月24日14時23分55秒)をしたいです。

その後の表は、

rain_gage sensor_id time 
2.434  6000  2017-07-24 14:23:55 
5.324  6010  2017-07-24 09:12:22 
5.324  6010  2017-07-24 10:23:19 

ところで、私は、MySQLデータベースを使用されます。

+0

まず最初に試してみてください。それ以外の場合は、おそらくちょうどここで下降します。 – Kai

+3

「UNIQUE」制約はどうですか? – joanolo

+0

はい、そうかもしれません。あなたはコードセグメントを投稿できますか?私はデータベースの初心者です。 – SmallYellowDuck

答えて

0

テーブルがすでに作成されている場合は、必要なフィールドにUNIQUEという制約を追加するように変更する必要があります。

ALTER TABLE <Table-Name> ADD CONSTRAINT <Constraint-Name> UNIQUE (SENSOR_ID, TIME); 

UNIQUE制約は、テーブルの作成時に添加することができます。

CREATE TABLE <Table-Name> (
    .... 
    CONSTRAINT <Constraint-Name> UNIQUE (SENSOR_ID, TIME) 
); 

これにより、一意のレコードのみが挿入されます。重複するレコードに対して発生する例外は、正常に処理する必要があります。

関連する問題