#android #sqlite
#Android #sqlite
Вопрос:
У меня есть приложение, которое синхронизируется с веб-сервером. При обновлении я хочу, чтобы идентификаторы строк совпадали с идентификаторами на веб-сервере, потому что другие данные зависят от правильного сопоставления идентификаторов строк. Я думал о том, чтобы просто очищать таблицу каждый раз, но я не думаю, что это эффективный способ, особенно когда данные становятся очень большими. Какой эффективный метод для этого?
Комментарии:
1. Если данные изменены на стороне сервера, будут ли сохраняться связи при синхронизации и обновлении таблиц?
Ответ №1:
Я упрошу это для вас:
1) Добавьте дополнительный столбец в вашу таблицу Android db, давайте назовем его id веб-сервера.
2) При первом создании таблицы Android вставьте идентификатор строки веб-сервера в этот столбец.
3) Всякий раз, когда вы синхронизируетесь с сервером, используйте этот идентификатор, чтобы найти нужную строку веб-сервера для синхронизации.
Это все материалы базы данных 101. Вам действительно следует ознакомиться с внешними ключами. Очевидно, что связь сохраняется даже при изменении данных, если вы не меняете ключевые поля. Однако ключевые поля никогда не следует изменять, чтобы связь всегда сохранялась.