有没有办法确保这种情况发生?因为我正在使用的表是在插入新行时随机排序行,我不希望这种情况发生。此外,我想避免添加时间戳列。我试图在网上搜索答案,但到目前为止一无所获。我只能希望这里有人可以帮助我。
答案 0 :(得分:1)
保证数据库订单的唯一方法是在拉动SQL时使用ORDER BY
子句。其他任何东西都是不好的做法(依赖于从版本到版本或移动到另一个数据库可能相同或不同的功能)。
答案 1 :(得分:0)
就像记录不是数组一样,表也不是列表。关系模型将表定义为无序记录集。
如果您希望订单,您需要定义该订单是什么,并保存相应地确定订单的数据。然后,当您希望对结果集进行排序时,需要指定相关的ORDER BY。这是保证查询结果按设计的顺序的唯一方法。
关键概念是订单是数据确定的东西,而不是数据库。订单是应用程序规则或业务规则。如果您的应用程序或业务需要该规则,则需要将数据存储在数据库中以执行此操作。您不希望数据库在后台神奇地管理订单。您不希望被绑定到这样的实现细节。您应该能够将数据从数据库中提取到文本文件或电子表格中,并能够重新构建订单。即使数据库完全更改,您也应该可以重新确定应用程序或业务所需的订单。