我试图通过将一个内容转储到另一个来合并两个sqlite表。但是,每次尝试此操作时,都会抛出语法错误,说明" [SQLITE_ERROR] SQL错误或缺少数据库(接近" sqlite3&#34 ;:语法错误)"
conn是原始数据库的连接,我发送所有sql命令。 newConn是要合并的数据库的连接。
如何解决此问题?提前谢谢!
编辑:我只是想确保不会因为重复而关闭。我使用了来自here的sql代码,但它仍然会导致问题。
newConn = DriverManager.getConnection("jdbc:sqlite:" + path);
String sqlMerge = "sqlite3 ? .dump";
conn.setAutoCommit(false);
PreparedStatement pstmt1 = conn.prepareStatement(sqlMerge);
pstmt1.setString(1, newConn.getCatalog());
pstmt1.executeUpdate();
conn.commit();
答案 0 :(得分:2)
.dump
是SQLite命令行shell的一个功能。 SQL语言的SQLite方言无法识别它。您可以从Java中调用命令行shell,也可以使用实际的SQL命令通过JDBC(读取数据)和Java文件操作(写入所需的转储文件)执行等效操作。