使用同一个表中的ID更新多个sqlite行

时间:2015-09-08 21:12:00

标签: sqlite

我需要一些帮助来改进我的SQLite数据库。

现在表格看起来像这样:

ID |FORM     |MAINFORM
----------------------
1  |form     |form
2  |formAB   |form
3  |formBC   |form
4  |sample   |sample
5  |sampleAB |sample
6  |sampleBC |sample

将MAINFORM列中的数据从字符串格式更新为int格式的最佳和最快的方法是什么,例如,我可以从同一个表中获取FORM的ID?

最后我应该有:

ID |FORM     |MAINFORM
----------------------
1  |form     |1
2  |formAB   |1
3  |formBC   |1
4  |sample   |4
5  |sampleAB |4
6  |sampleBC |4

因此,在此示例中,“form”的ID = 1,因此MAINFORM =“form”的所有行都将更新为MAINFORM = 1。 MAINFORM可以是空的,但如果不是,它肯定会在表格中有相应的值作为FORM(它将有ID)。

目前,此表中有大约600.000行。

1 个答案:

答案 0 :(得分:2)

您可以使用correlated subquery查找新值:

Failure

(如果查找失败,子查询将导致值为NULL。)