Jas*_*n S 6 sqlite transactions jdbc
我正在为生产者-消费者队列使用 sqlite 数据库。
一个或多个生产者使用新的自动增量主键一次插入一行。
有一个使用者(用 java 实现,使用sqlite-jdbc库),我希望它读取一批行并删除它们。似乎我需要事务来执行此操作,但是尝试将 SQLite 与事务一起使用似乎无法正常工作。我是不是想多了?
如果我最终确实需要事务,那么在 Java 中执行此操作的正确方法是什么?
Connection conn;
// assign here
boolean success = false;
try {
// do stuff
success = true;
}
finally
{
if (success)
conn.commit();
else
conn.rollback();
}
Run Code Online (Sandbox Code Playgroud)
通常,SQLite 存在显式(而非隐式!)事务。因此,您当然需要类似“START TRANSACTION”的内容,您的 Java 绑定可能已合并了此内容,但好的绑定则不会。
因此,您可能想要添加必要的事务启动(您的绑定中可能有一个特殊的方法)。
| 归档时间: |
|
| 查看次数: |
5033 次 |
| 最近记录: |