我正在尝试将 Record1 的 ID 更新为 Record2 ID 时间:
记录1
PreparedStatement
RECORD2
| ID | Weight | Name |
|----|--------|------|
| 1 | 10 | a |
| 2 | 10 | b |
| 3 | 10 | c |
我尝试过以下SQLite查询:
| ID | Weight | Name |
|----|--------|------|
| 4 | 20 | a |
| 5 | 20 | b |
| 6 | 20 | c |
对于所有记录,使用上述查询记录1 的 ID 更新为4。
答案 0 :(得分:1)
写SELECT ...record1
引入了一个隐藏外层的record1
表的新实例。
为了能够引用外部查询中的当前行,只需从FROM子句中删除table1
:
UPDATE record1
SET id = (SELECT record2.id
FROM record2
WHERE record1.name = record2.name
AND record1.weight < record2.weight);