我已经在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;
答案 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;