我们可以同时使用多个数据库表和数据库的同一连接对象。
假设我在表1中插入了值,同时也在数据库的表2中插入了具有相同数据库连接对象的值。
我在代码中使用sqlite数据库并在commit()时获取数据库锁定异常。
答案 0 :(得分:1)
任何事务都会锁定整个数据库。在任何正在进行的交易中,您无法访问sqlite数据库。
答案 1 :(得分:1)
每个表需要一个语句,所有语句都使用相同的连接:
INSERT INTO t1(x, y, z) VALUES(1, 2, 4);
INSERT INTO t2(a, b, c) VALUES("FOO", "BAR", 2.1);
这些应作为单个工作单元插入。
如果您要从同一个对象插入值,那么您可能做错了什么。 “只说一次”表明不需要在两个不同的表中保存相同的值。我将INSERT一次并使用触发器将其放入历史表或类似的东西。