Существует две задачи, чтобы сделать:
Во-первых, добавить столбец в таблицу.
После этого вы захотите заполнить столбец userId. Но в SQLite вы не можете выполнить JOIN в инструкции UPDATE.
Итак, вы должны отрезать его в четыре этапа (я предполагаю, что в вашей таблице фотографий есть только 3 поля, адаптируйте их к своему).
Сначала нужно создать временную таблицу, которая будет содержать окончательные ДАННЫЕ
CREATE TABLE photos_temp (
id INTEGER PRIMARY KEY AUTOINCREMENT,
albumId INTEGER NOT NULL,
userId INTEGER NOT NULL
);
Затем заполнить временную таблицу
INSERT INTO photos_temp(id, albumId, userId)
SELECT photos.id as id,
photos.albumId as albumId,
albums.userId as userId
FROM photos
INNER JOIN albums ON photos.albumId = albums.id;
Затем удалите исходную таблицу
DROP TABLE photos;
Наконец, переименовать предыдущую таблицу
ALTER TABLE photos_temp RENAME TO photos;
Извините, но нет более простого способа сделать это.
Что вы имеете в виду? 'alter table add column' вещь? – njzk2
http://stackoverflow.com/questions/8291673/how-to-add-new-column-to-android-sqlite-database – JRowan
Я думаю, что неправильный заданный вопрос. Теперь установите некоторые изменения. –