我运行两个事务。
在第一个事务中,创建了表测试,但是我说这个事务的回滚。
我认为那么表测试应该是否已经创建,但不是介于两者之间。
然后我运行另一个事务来测试发生了什么:
我在表测试中插入一行。这似乎在程序中有效,但是当我进入 sqlite 提示符时,当我说命令“.schema”时,我没有看到那里的表测试。
有人能说出发生了什么吗?
我的代码的输出是:“插入确定。”
try
{
db.beginTransaction();
String s =
"CREATE TABLE test(id INTEGER PRIMARY KEY AUTOINCREMENT ,age INTEGER)";
db.execSQL(s);
}
catch (Exception e)
{
System.out.println("Exception 1:"+e);
}
finally
{
db.endTransaction();
}
try
{
db.beginTransaction();
db.execSQL("INSERT INTO test VALUES(NULL,22)");
db.setTransactionSuccessful();
System.out.println("Insert ok.");
}
catch (Exception e)
{
System.out.println("Exception 2:"+e);
}
finally
{
db.endTransaction();
}