Я надеюсь, что это простой вопрос, на который я, к сожалению, не могу найти ответ с помощью поиска в Google или RTFMing.
Я хочу создать столбец со значением по умолчанию, основанным на первом идентификаторе другой таблицы.
Что-то вроде этого, что, к сожалению, дает мне «ОШИБКА: невозможно использовать подзапрос в выражении по умолчанию»
ALTER TABLE foobar
ADD COLUMN foo INTEGER DEFAULT (SELECT id FROM blubb LIMIT 1);
Проблема в том, что я не могу просто предположить, что 'blubb' начинается с 0 или 1, и я хочу наложить на него ОГРАНИЧЕНИЕ позже.
LIMIT 1
не означает первый идентификатор. Это означает только 1 строку, любую строку. Пока вы не предоставите пунктORDER BY
. - person ypercubeᵀᴹ   schedule 30.08.2013ALTER TABLE
) или значение blubb.id при вставке нового значения в foobar? - person contradictioned   schedule 30.08.2013default
. См. триггер вставки Postgresql для установки значения - person Daniel Vérité   schedule 30.08.2013