从SQLIte数据库输出UPDATE语句

从SQLIte数据库输出UPDATE语句,sqlite,output,Sqlite,Output,我有两个单独的sqlite数据库存储天气数据。一个基本上是另一个的子集。它们都有日期几乎相同的datetime列(unix历元)。我想将较小的子集合并到较大的数据库中。数据列的名称也略有不同。(例如,database1.table具有pm1_0_atm数据库2.table具有pm1_0) 通常我会像这样备份和转储数据库: .mode insert .output /Filepath/Name SELECT dateTime, pm1_0_atm, pm2_5_atm, pm10_0_atm FR

我有两个单独的sqlite数据库存储天气数据。一个基本上是另一个的子集。它们都有日期几乎相同的datetime列(unix历元)。我想将较小的子集合并到较大的数据库中。数据列的名称也略有不同。(例如,database1.table具有pm1_0_atm数据库2.table具有pm1_0)

通常我会像这样备份和转储数据库:

.mode insert
.output /Filepath/Name
SELECT dateTime, pm1_0_atm, pm2_5_atm, pm10_0_atm FROM "archive"
其结果是:

INSERT INTO "archive" VALUES(1576187700,1.8149999999999999467,3.0499999999999998223,3.8700000000000001065);
INSERT INTO "archive" VALUES(1576187700,1.8149999999999999467,3.0499999999999998223,3.8700000000000001065);
INSERT INTO "archive" VALUES(1576187700,1.8149999999999999467,3.0499999999999998223,3.8700000000000001065);
但我真正想要的是用新的值更新第二个数据库,以便可以回填行

因此,我需要转储来创建更新语句,如下所示:

UPDATE "archive"
SET pm1_0 = value1, pm2_5 = value2, pm10_0 = value3 WHERE datetime = datetime

或者以其他方式传输数据。

到目前为止,我已经使用grep+BBEdit(在Mac上)将原始INSERT语句转换为UPDATE语句。然后,我使用%sqlite3/path/to/database