перенести все записи из одной таблицы базы данных в другую таблицу базы данных - PullRequest
0 голосов
/ 25 мая 2019

У меня есть записи в одной таблице базы данных, и я хочу перенести все в таблицу в другой базе данных.

мой текущий код может передаваться только между таблицами в одной базе данных.

 Statement st = conn.createStatement();
 int rows = st.executeUpdate("Insert into script(ID,Name) Select ID,Name from table1");
 if(rows==0){
 JOptionPane.showMessageDialog(null,"Nothing to transfer.");
 }else{
 JOptionPane.showMessageDialog(null,rows+" transfered successfully into script");
 }
}catch(SQLException | HeadlessException e){
JOptionPane.showMessageDialog(null,e);
}finally{
 try{
 rs.close();
 pst.close();
     }
 catch(Exception e){
     }
     } 

//and below are my database connections. 


public into_databses(){

conn = connector.db1();
conn1 = connector.db2();
}

//and I am currently using only   conn=connector.db1```

I want to modify it so that I can transfer records between tables in the different databases. thank you

1 Ответ

0 голосов
/ 25 мая 2019

Если вы используете Sqlite3, вам нужно ATTACH DATABASE .

С целевым подключением к базе данных выполните следующие операторы:

ATTACH DATABASE 'other.db' AS source;
INSERT INTO main.script(ID, Name) SELECT ID, Name FROM source.table1;
DETACH source; -- optional

где other.dbэто имя файла базы данных, из которой вы хотите скопировать.

Работа с нарушениями ограничений от таких вещей, как повторяющиеся первичные ключи, остается в качестве упражнения для читателя - INSERT имеет различные способы обработки таких вещей, которые могутили может не работать на вас, в зависимости от ваших потребностей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...