一次插入多个数据库表中

时间:2010-04-06 10:01:21

标签: java sqlite

我们可以同时使用多个数据库表和数据库的同一连接对象。

假设我在表1中插入了值,同时也在数据库的表2中插入了具有相同数据库连接对象的值。

我在代码中使用sqlite数据库并在commit()时获取数据库锁定异常。

2 个答案:

答案 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一次并使用触发器将其放入历史表或类似的东西。