python - 我可以只从数据库中获取更新的数据而不是所有数据吗
问题描述
我在 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)
解决方案
如果你像这样“一个接一个”地插入行
cursor.execute('INSERT INTO foo (xxxx) VALUES (xxxx)')
然后,您可以检索最后插入的行 id :
last_inserted_id = cursor.lastrowid
但它仅在您插入单行时才有效execute
。如果您None
尝试在executemany
.
如果您尝试获取同时插入的行的多个 ID,请参阅可能对您有所帮助的答案。
推荐阅读
- javascript - 导航栏和头部固定顶部
- python - 在matplotlib中截断y轴
- reactjs - 使用 redux store 设置 React 组件的状态
- python-3.x - Python dict 更新是覆盖而不是追加
- python - Jupyter notebook 仅适用于基础环境
- c# - Unity 从 persistentDataPath 添加 mp3 文件
- reactjs - Firebase、React、高阶函数
- android - 如何确定上一个会话中的线程当前是否正在运行
- java - Keycloak:引用第三方库的自定义事件监听器
- java - Hibernate 如何使用 InheritanceType.JOINED 区分对象类型