SQLite3 — 返回受影响的行

Posted

技术标签:

【中文标题】SQLite3 — 返回受影响的行【英文标题】:SQLite3 — Return Affected Rows 【发布时间】:2015-06-21 06:29:03 【问题描述】:

假设我有一个包含 name 字段和 int 字段的架构。我想获取一个 int 值为 1 的随机条目,将其设置为 0,并返回以事务方式更改的条目的名称。最好的方法是什么?提前致谢!

【问题讨论】:

【参考方案1】:

以事务方式做某事的最佳方式是使用transaction:

BEGIN;
SELECT ID, Name FROM MyTable WHERE IntValue = 1 ORDER BY Random() LIMIT 1;
UPDATE MyTable SET IntValue = 0 WHERE ID = ?;
COMMIT;

【讨论】:

以上是关于SQLite3 — 返回受影响的行的主要内容,如果未能解决你的问题,请参考以下文章

Sqlite3 从列中具有相似值的行获取数据

SQLITE3 - 删除具有相同值的多个列的行

如何在 SQLITE3 中查询最近的行

重置 SQLite3/MySQL 中的行数计数

sqlite3 视图影响性能?

在 SQLite3 表中的行上有效地执行 python 代码