2017-07-25 84 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 

我想触发器或约束过滤器行(2.434,6000,2017-07-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

先试试看,否则你可能会在这里downvoted,否则 – 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) 
); 

这将确保只有唯一记录被插入。对重复记录发生的任何异常都必须妥善处理。