Я разрабатываю для iOS, и у меня есть предыдущая база данных, очень плохо построенная. Теперь уже 140 запечатанных, но в моем обновлении я делаю новую базу данных, но я не могу удалить данные ... Как я могу изменить данные из базы данных A в базу данных B? Я использую sqlite3 в Xcode 5Изменить данные базы данных
ответ
Ниже приведен пример кода изменения столбца в таблице базы данных:
- (void)alterDB {
sqlite3_stmt *statement;
sqlite3_stmt *selectStmt;
const char *columnExists = "select callCount from lastCall";
//Alter the table ONLY IF column we want doesn't exist
if (sqlite3_prepare_v2(database, columnExists, -1, &selectStmt, NULL) != SQLITE_OK)
{
NSString *updateSQL = [NSString stringWithFormat:@"ALTER TABLE lastCall ADD COLUMN callCount INTEGER"];
const char *update_stmt = [updateSQL UTF8String];
sqlite3_prepare_v2(database, update_stmt, -1, &statement, NULL);
if (sqlite3_step(statement) == SQLITE_DONE) {
NSLog(@"DATABASE ALTERED");
} else {
NSLog(@"error altering database");
}
}
}
Надеюсь, это даст вам представление.
Написать код миграции, , который будет выбирать данные из базы данных A и вставить его в базу данных B.
При работе с различными схемами у меня есть метод, который я всегда вызываю при открытии базы данных, которая проверяет версию схемы в таблице, выделенной для этой цели, а затем выполняет любые изменения, необходимые для схемы.
- (void) checkSchema {
if([[self preferenceForKey:@"SchemaVersion"] isEqualToString: @"1"]) {
[db sqlExecute:@"create table Documents(documentID int, description text, type text, url text, modifiedDate text, read int, fileName text, needsUpdate int, primary key(documentID,type));"];
[self setPreference:@"2" ForKey:@"SchemaVersion"];
}
// etc.
}
Так развиваясь, я могу добавить изменения схемы и независимо от того, какая версия приложения кто-то использует, когда они модернизируют они будут получать последние изменения схемы.
Это из-за этого и работа по изменению всех моих методов доступа к базе данных, которые я теперь использую SimpleDB (https://github.com/AaronBratcher/SimpleDB), ключ/значение db, которое я написал. Полностью другой способ доступа к данным, который делает вещи намного проще.
- 1. Как изменить данные базы данных в JPA
- 2. изменить имя базы данных
- 3. найти данные базы данных
- 4. Обновить данные базы данных
- 5. Показать данные базы данных
- 6. Данные базы данных книг
- 7. Лучший способ изменить/форматировать данные базы данных в контроллере?
- 8. Laravel изменить данные базы данных в файле filter.php
- 9. Любой простой способ изменить данные, поступающие из базы данных mysql?
- 10. Как только изменить данные из базы данных доступа
- 11. Primefaces Изменить DataTable, который содержит данные из базы данных
- 12. Cloudkit Можем ли мы изменить данные публичной базы данных
- 13. Пограмматически изменить местоположение базы данных
- 14. Изменить сервер базы данных WordPress
- 15. Как изменить размер базы данных
- 16. Изменить таблицы базы данных Liferay
- 17. Изменить ограничение размера базы данных
- 18. Изменить запрос базы данных с аспектом
- 19. Дизайн базы данных: Иерархические данные
- 20. Выберите данные из базы данных
- 21. Очистить данные из базы данных
- 22. Принимая данные из базы данных
- 23. Тестирование модулей - данные базы данных
- 24. Извлечь данные из базы данных
- 25. читать данные из базы данных?
- 26. Случайные данные из базы данных
- 27. PDO: учетные данные базы данных
- 28. Обновить данные из базы данных
- 29. удалить данные из базы данных
- 30. Вложенные данные базы данных Codeigniter
Это довольно общий вопрос, но вы можете либо скопировать все данные в новую таблицу (в зависимости от того, сколько данных в приложениях установлено на телефонах), либо изменить существующие данные в таблицах в базе данных, добавив новые столбцы или даже новые таблицы для ваших новых данных и использовать их с этого момента. Надеюсь это поможет. – c0d3Junk13