テーブルを別のデータベースにコピーしたいと思います。あるデータベースのテーブルを別のデータベースにコピー
私は方法を作った。 私はオープン2データベースと挿入クエリを使用すると思うが、私は詳細な方法を知らない。
-(void)copyDatabaseTableSoruceFileName:(NSString *)source CopyFileName:(NSString *)copy
{
sqlite3 *sourceDatabase=NULL;
sqlite3 *copyDatabase=NULL;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);
NSString* documentDir = [paths objectAtIndex:0];
//source
[self copyFileIfNeed:source path:documentDir];
NSString *SourceDBPath = [documentDir stringByAppendingPathComponent:source];
if(sqlite3_open([SourceDBPath UTF8String],&sourceDatabase)!= SQLITE_OK)
{
NSLog(@"DB File Open Error :%@", SourceDBPath);
sourceDatabase = NULL;
}
//copy
[self copyFileIfNeed:copy path:documentDir];
NSString *CopyDBPath = [documentDir stringByAppendingPathComponent:copy];
if(sqlite3_open([CopyDBPath UTF8String],©Database)!= SQLITE_OK)
{
NSLog(@"DB File Open Error :%@", CopyDBPath);
copyDatabase = NULL;
}
//source to copy
// How in this area?
}
それは正しいですか?もっと作る方法は? //コピー元の領域。 sqlite3の中
+1は、 "CREATE TABLE newTableInDB1 AS SELECT * FROM aDB.oldTableInMyOtherDB;"を使用して高速表の作成とコピーを促します。 –
がよく説明されています。あなたが具体的なコードを記述することができれば素晴らしいことでしょう。 – OMGPOP
コマンドは純粋なSQLであり、sqlite3_exec()を呼び出して実行します。 – Zuppa