У меня есть две разные базы данных, Databse1 и Database2. В этой базе данных содержится одинаковая таблица имен «tblSubUnit», и в этой таблице есть одно имя столбца «Избранное», теперь я хотите заменить столбец Database1 Table столбец таблицы Database2 (избранное). Поэтому, пожалуйста, помогите мне, как заменить/обновить это.Обновление/Замена двух столбцов таблицы базы данных
- Я создал функцию для этого, чтобы прикрепить эту две базы данных. Но после того, как я не смог обновить/заменить столбец, пожалуйста, помогите мне заблаговременно.
Код:
- (void)UpdateFavoriteData:(NSString*)query{
NSString * language = [[NSLocale preferredLanguages] objectAtIndex:0];
NSString *path = [[NSBundle mainBundle] pathForResource:language ofType:@"lproj"];
if(path==nil){
path = [[NSBundle mainBundle] pathForResource:@"Base" ofType:@"lproj"];
}
NSString *l_DatabasePathFromApp = [path stringByAppendingPathComponent:self.m_DatabaseName];
sqlite3 *bookLoansDB;
if (sqlite3_open([self.m_DatabasePath UTF8String], &bookLoansDB) == SQLITE_OK) {
NSString *attachSQL = [NSString stringWithFormat: @"ATTACH DATABASE \'%s\' AS FavoriteData", [l_DatabasePathFromApp UTF8String]];
char *errorMessage;
if (sqlite3_exec(bookLoansDB, [attachSQL UTF8String], NULL, NULL, &errorMessage) == SQLITE_OK) {
sqlite3_stmt *selectStmt;
NSString *selectSQL = @"UPDATE [FavoriteData.SubUnit], [main.SubUnit] SET [FavoriteData.SubUnit].[Faverite] = [main.SubUnit].[Faverite]";
if (sqlite3_prepare_v2(bookLoansDB, [selectSQL UTF8String] , -1, &selectStmt, nil) == SQLITE_OK) {
if(sqlite3_step(selectStmt) == SQLITE_DONE) {
}
}
else {
NSLog(@"Error while Update statement: '%s'", sqlite3_errmsg(bookLoansDB));
}
}
else {
NSLog(@"Error while attaching databases: '%s'", errorMessage);
}
}
else {
sqlite3_close(bookLoansDB);
}
}
Я пытался так много обновлений запросов, но такой же результат получил каждый раз, когда «Ошибка при заявлении Update», поэтому, пожалуйста, помогите мне, как обновить одну базы данных таблицы столбец с другим столбцом таблицы базы данных данные.
возможно дубликат [SQL - Обновление таблицы с помощью поля другой таблицы] (http://stackoverflow.com/questions/5930698/sql-update-a-table-using-a-field-of -another-table) –
Нет, все было по-другому. У меня есть две разные базы данных. –
Но ваша проблема - синтаксис инструкции UPDATE. –