Я в основном хочу сделать операцию набора дополнений в SQLite, но не знаю как.
Скажем, у меня есть список тегов для такого элемента в памяти:
"red", "blue", "green", "yellow"
и база данных имеет эти теги, связанные с тем же элементом:
"red", "orange", "purple"
Я хочу, чтобы база данных отображала состояние в памяти. Мне нужно:
- Удалить связь с тегами для элемента в базе данных, которые не существуют в памяти. Исключить «органж» и «фиолетовый».
- Добавить отношения тегов, которых у меня нет в базе данных, но в памяти. Добавьте «синий», «зеленый» и «желтый».
Я мог бы просто взять весь список существующих тегов и выполнить операцию вне SQL с Java (на Android), но это мог бы быть огромный список, и я делаю это на мобильном устройстве.
Я мог бы также отбросить все существующие связи тегов для элемента, а затем добавить их в память, но это может потенциально добавить много отношений, которые уже существуют и кажутся ненужной работой.
У меня в основном есть следующие таблицы:
пункт * * 1023
id, int primary key autoincrement not null
name, text
бирка
id, int primary key autoincrement not null
name text
tagged_items
id, int primary key autoincrement not null
tag_id, int
item_id, int