我可以根据SQLite中的查询插入不同的数据库吗?

我可以根据SQLite中的查询插入不同的数据库吗?,sql,sqlite,Sql,Sqlite,我将两个SQLite数据库连接到一个连接中:db1和db2。我有一个视图,它合并了两个数据库中的表,并添加了一列“database”,指定它来自哪个数据库。我试图在插入视图时创建一个触发器,该触发器将插入正确的数据库 设想以下表格数据模式: id INTEGER PRIMARY KEY, parent INTEGER, data TEXT id整数主键, 父整数, 数据文本 这将是视图DataView的架构: id INTEGER PRIMARY KEY, databas

我将两个SQLite数据库连接到一个连接中:db1和db2。我有一个视图,它合并了两个数据库中的表,并添加了一列“database”,指定它来自哪个数据库。我试图在插入视图时创建一个触发器,该触发器将插入正确的数据库

设想以下表格数据模式:

id INTEGER PRIMARY KEY, parent INTEGER, data TEXT id整数主键, 父整数, 数据文本 这将是视图DataView的架构:

id INTEGER PRIMARY KEY, database TEXT, parent INTEGER, data TEXT id整数主键, 数据库文本, 父整数, 数据文本 到目前为止,我所拥有的:

CREATE TRIGGER DataViewInsertTrigger AFTER INSERT ON DataView BEGIN INSERT INTO database.Data SELECT database FROM DataView WHERE id=new.parent END; 在数据视图上插入后创建触发器DataViewInsertTrigger 开始 插入到数据库中。数据 选择数据库 从数据视图 其中id=new.parent 结束;
我想做的事可能吗?如果是这样,我将如何完成触发器?

否,您不能根据触发器中获得的信息插入完全不同的数据库。触发器在特定于调用它的数据库的上下文中执行。另一个数据库将位于一个完全不相关的文件中,即SQLite中

事实上,您只有一个连接来连接这两个连接,这并不能使一个连接从另一个连接可用。如果通过仅加载一个DB的连接进行查询,从而触发触发器,会发生什么情况


也许您希望在同一数据库中有两个表?

虽然Borealid正确,触发器本身无法插入到不同的文件中,但您可以调用自定义sqlite函数,该函数本身生成一个查询以插入到不同的文件中