首页 > 解决方案 > 我可以只从数据库中获取更新的数据而不是所有数据吗

问题描述

我在 python 3 中使用 sqlite3 我只想从数据库中获取更新的数据。我的意思可以解释如下:数据库已经有 2 行数据,我又添加了 2 行数据。如何只读取更新的行而不是总行

注意:索引在这里可能没有帮助,因为更新的行数会改变。

def read_all():
        cur = con.cursor()
        cur.execute("SELECT * FROM CVT")
        rows = cur.fetchall()
        # print(rows[-1])
        assert cur.rowcount == len(rows)
        lastrowids = range(cur.lastrowid - cur.rowcount + 1, cur.lastrowid + 1)
        print(lastrowids)

标签: pythondatabasesqlite

解决方案


如果你像这样“一个接一个”地插入行

cursor.execute('INSERT INTO foo (xxxx) VALUES (xxxx)')

然后,您可以检索最后插入的行 id :

last_inserted_id = cursor.lastrowid

在您插入单行时才有效execute。如果您None尝试在executemany.

如果您尝试获取同时插入的行的多个 ID,请参阅可能对您有所帮助的答案


推荐阅读