我有一张旧桌子和一张新桌子。我需要的是将旧表的uuId复制到新表。
我从其他参考文献中得到了一些答案,但我无法得到理想的答案。
我找到的最接近的答案是:
update table1
set table1.uuid =
(select table2.uuid from table2 where table1.itemDescription = table2.itemDescription)
当我执行此查询时,它只将旧表的第一个找到的uuid保存到新表中的所有条目。
样本表2(旧表):
uuid|itemDescription
1|item1
2|item2
3|item3
样本表1(新表):
uuid|itemDescription
Null|item1
Null|item2
Null|item3
期望的输出:
uuid|itemDescription
1|item1
2|item2
3|item3
会发生什么:
uuid|itemDescription
1|item1
1|item2
1|item3
答案 0 :(得分:0)
在SQLite中,不得在SET子句中使用表名:
INFO
答案 1 :(得分:-1)
试试这样:
UPDATE table1
SET table1.uuid = table2.uuid
FROM table2 WHERE table1.itemDescription = table2.itemDescription
不需要子查询,否则您还需要在外部查询中链接项目描述