Sqlite的多表连接更新
最近处理一个较大数据的sqlite库,基础表300万条,结果表30万条左右,我的笔记本跑起来还算流畅。最后结果,需要两个表连接,把另一个表的计算结果更新过来,却遇到麻烦。sqliter并不支持常见的连接更新:
update a set a.id =b.id from table_1 a inner join table_2 b on a.name=b.name
查了一下,只能这样:
update table1 set col1=(select col1 from table2 where col2=table1.col2)
试了一下,太慢了。
最后找了一个折中的办法:
1.把连接写成视图
2.导出结果到csv
3.建立一个空表,结构和视图相同
4.把csv导入到空表
5.修整相关的列