我有一个名为measurement的表,有3列:value,moment,seriesid。
51.02|2006-12-31 23:00:00|1
24.88|2006-12-31 23:00:00|2
55|2006-12-31 23:00:00|3
3.34823004011|2006-12-31 23:00:00|5
我正在尝试在此表中加载csv,但我收到以下错误:
Key (moment, seriesid)=(2009-05-25 00:00:00,186) already exists.
在阅读StackOverflow上的一些帖子后,我最好成功了:
CREATE TEMP TABLE measurement_tmp AS SELECT * FROM measurement LIMIT 0;
COPY measurement_tmp FROM '/home/airquality/dat/import.csv'
WITH DELIMITER ',';
INSERT INTO measurement
SELECT DISTINCT ON (moment,seriesid)
value,moment,seriesid
FROM measurement_tmp
据我所知
1)创建表measurement_tmp。
2)测量表的所有内容都加载到measeurement_tmp中
3)import.csv文件的所有内容都加载在measurement_tmp中,没有Key(moment,seriesid)限制。
4)选择DISTINCT ON(moment,seriesid)应该只返回“理智”#39;数据并将其导入测量中。
仍然得到同样的错误,
2014-11-20 10:06:24 GMT-2 ERROR: duplicate key value violates unique constraint
"measurement_pkey"
2014-11-20 10:06:24 GMT-2 DETAIL: Key (moment, seriesid)=(2009-05-25 00:00:00,
186) already exists.
有什么想法吗?