使用SQL中的select进行更新

时间:2018-05-31 13:47:24

标签: c# sql

如何在同一个表上使用select(在同一个SQL中)生成更新?

我想选择最后插入的行并用新值更新它。

1 个答案:

答案 0 :(得分:1)

在SQL中没有“最后插入的行”这样的东西。如果你需要它,你需要以某种方式标记它。

根据SQL标准,数据库可以按任何顺序返回表的行。如果您需要特定订单,则需要使用order by指定。在幕后数据库重新组织数据,因为他们认为这些数据可以提高性能,备份,聚类等。这些行绝不会按照您插入的顺序存储。

简单来说,SQL数据库不是Excel工作表。

话虽如此,如果你仍然需要更新最后一个“插入”行,你可以:

  • 添加带有时间戳的额外列。然后,您可以搜索“最大”时间戳值并找到它。

  • 添加一个带有序列号或标识列的额外列。与以前相同但使用整数。

  • 添加一个标识最后一行的布尔标志列。但是,您需要在每个插页上“移动标记”。

  • 将最后插入的行的“id”存储在单独的表中。您需要在每次插入时更新此ID。

在我的头脑中,这些是我能看到的解决方案。