У меня есть две таблицы: progress и subjects. В progress есть столбец subject типа text, а в таблице subjects есть 2 столбца: subject_id типа integer и subject типа text.
Как мне заменить тип столбца subject в таблице progress на integer, заодно изменив имеющиеся записи в этой таблице?
Пробовал такой вариант (переименовал subject на subject_id для дальнейшего присвоения ему внешнего ключа):
ALTER TABLE progress RENAME COLUMN subject TO subject_id;
ALTER TABLE progress ALTER COLUMN subject_id TYPE INTEGER USING (
SELECT subjects.subject_id
FROM subjects, progress
WHERE progress.subject_id = subjects.subject
);
но это неправильный запрос:
ОШИБКА: нельзя использовать подзапрос в выражении преобразования
СТРОКА 1: ...ogress ALTER COLUMN subject_id TYPE INTEGER USING (SELECT su...