4

在不使用临时表的情况下修改最新添加的行的最佳方法是什么。例如表结构是

id | text | date

我目前的方法是使用 postgresql 特定命令“returning id”插入,以便之后我可以更新表

update myTable set date='2013-11-11' where id = lastRow

但是我感觉 postgresql 不是简单地使用最后一行,而是遍历数百万个条目,直到找到“id = lastRow”。如何直接访问最后添加的行?

4

2 回答 2

5
update myTable date='2013-11-11' where id IN(
       SELECT max(id) FROM myTable
)
于 2013-11-11T09:55:44.037 回答
3

只是为了添加到 mvb13 的答案(因为我还没有足够的分数来直接评论),所以缺少一个词。希望这可以节省一些时间来制定正确的语法 LOL。

update myTable set date='2013-11-11' where id IN(
  SELECT max(id) FROM myTable
);
于 2017-08-02T11:16:34.287 回答