无法在SQlite中启动简单事务

时间:2015-06-26 11:28:28

标签: sqlite transactions

我已经在2天前启动了SQlite,今天我尝试在Sqlite3中学习事务。但我甚至无法进行最简单的交易。

Begin;
Insert into newTable(Name,Age) values ("Adnan Ahamd KHan",24)
Insert into tbl2 (Name, FID) values ("Adnan",(Select MAx(ID) from newTable))
END Transaction;

显示的错误是

cannot start a transaction within a transaction: Begin;

2 个答案:

答案 0 :(得分:10)

我们走了,
我找到了我的Questio的答案。实际上我正在使用DBBrowser进行SQlite。据我所知,你必须在DBBrowser中为SQlite提交每个语句。 我首先创建了表,建立了关系,并且没有全部提交,然后我尝试启动该事务,这就是为什么它说

cannot start a transaction within a transaction: Begin;

我做了什么,先发了一个

commit

提交创建表的语句,然后启动Transaction。它运作良好。

由于

答案 1 :(得分:0)

我查看了代码,发现 BEGIN TRANSACTION; 起始行和 Commit; 结束行。 我删除了它们(删除了第一行和最后一行,上面写着 BEGIN TRANSACTION 和 Commit/END TRANSACTION),现在可以使用了

以下对我来说失败了:

BEGIN TRANSACTION;
....
END TRANSACTION;

BEGIN TRANSACTION;
....
Commit;