☰
DBeaver 执行 SQLite 事务提示 transaction within a transaction 的原因
2026/10/20 7:59:00 网站建设 项目流程

教学演示数据库锁机制时,用 MySQL 的两个查询窗口可以清楚看到"窗口 1 加锁、窗口 2 阻塞、提交后放行"的全过程。同样的脚本换到 SQLite,却反复报cannot start a transaction within a transaction,或者第二个窗口的 UPDATE 一直卡在"Executing query"不动。这不是 SQLite 坏了,而是客户端行为与 SQLite 锁模型叠加的结果。

问题现象

窗口 1 执行:

BEGINIMMEDIATE;UPDATEaccountsSETbalance=balance-2000WHEREaccount_id=1;

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询