Tôi muốn sao chép bảng từ aDB sang bDB khác.Sao chép bảng trong một db sang một db
Vì vậy, tôi đã thực hiện một phương pháp. Tôi nghĩ rằng mở 2 cơ sở dữ liệu và sử dụng truy vấn chèn sẽ làm việc nhưng tôi không biết cách chi tiết.
-(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?
}
Có đúng không? và làm thế nào để làm nhiều hơn? // nguồn để sao chép khu vực.
+1 để nhắc tôi tạo và sao chép bảng nhanh bằng "TẠO TẠO newTableInDB1 AS SELECT * FROM aDB.oldTableInMyOtherDB;" –
cũng được giải thích. nó sẽ là tuyệt vời nếu bạn có thể viết trong mã bê tông ios objc. – OMGPOP
Các lệnh là SQL thuần túy, bạn thực hiện chúng với một lệnh gọi tới sqlite3_exec(). – Zuppa