有没有办法在不通过以前的记录的情况下读取插入SQLite表中的最后一条记录的值?
出于性能原因,我问这个问题。
答案 0 :(得分:1)
按ID按相反顺序对记录进行排序时,将首先返回最后一条记录。 (由于自动增量列上的隐式索引,这是有效的。)
如果您对任何其他记录不感兴趣,请使用LIMIT:
SELECT *
FROM MyTable
ORDER BY _id DESC
LIMIT 1
答案 1 :(得分:1)
有一个名为sqlite3_last_insert_rowid()的函数,它将返回最近插入操作的整数键。 http://www.sqlite.org/c3ref/last_insert_rowid.html
这只有在你知道你关心的桌子上发生的最后一次插入时才有用。
如果您需要表格的最后一行,无论最后一次插入是否在此表上,您都必须使用SQL查询
SELECT * FROM mytable WHERE ROWID IN ( SELECT max( ROWID ) FROM mytable );