這裏的一般問題 - 對於SQL,我可以依靠'最新的入口始終處於最高索引'還是某種效果?事務列表的SQL表 - 需要排序?
具體來說,我使用sqlalchemy(基於python的ORM)和一個sqlite數據庫(sqlite_autoincrement = True)來跟蹤某些項目的提取和返回。我有一個「貸款」表。在我看來,所有新條目(總是通過Python中的ORM完成)被附加在更高的主鍵索引處。這是可靠的行爲,並且是否傳遞給其他SQL數據庫?
換句話說,如果我想檢查一個項目是最近返回還是借出的,我只需在貸款表上查詢該項目的所有事件,我是否可以將「最後」返回行是最近添加的行嗎?
所以我想你的答案隱含的問題是'這個ORM(sqlalchemy)提供任何這樣的保證'?對於自動增量的sqlite,我認爲它可能(不太確定,希望有人告訴我這樣)。如果確實如此,是否意味着我應該依賴這種行爲,還是應該在每行中插入跟蹤器單元(用於我的上下文,日期和時間)以進行排序? –
我不認爲這是ORM的工作。如果數據庫不支持這種開箱即用的方式,那麼應用程序有責任實現這種機制。無論如何,我認爲'autoincrement',雖然文件似乎建議不使用它,除非必要,將是沒有問題的。 –