Нет значения вставить в столбец SQL - PullRequest
0 голосов
/ 12 апреля 2019

У меня есть несколько многоугольников в таблице, и я хочу преобразовать их в область и добавить результат в строку.

INSERT INTO citydb.surfaces(foot_p)
SELECT st_area(geom)
FROM citydb.surfaces
WHERE class_id = 33;

Возвращает это:

INSERT 0 110521

Query returned successfully in 677 msec.

Но столбец пуст.

1 Ответ

1 голос
/ 12 апреля 2019

Кажется, что вы хотите заполнить новый столбец для существующих строк таблицы, но вы делаете, чтобы добавить новые строки, в которых все столбцы, кроме foot_p (и столбцы со значением DEFAULT) ) будет NULL.

Вы, вероятно, хотите сделать

UPDATE citydb.surfaces
SET foot_p = st_area(geom);

Это изменит существующие строки.

Это обновление значительно раздувает вашу таблицу, поэтому рассмотрите возможность запуска

VACUUM (FULL) citydb.surfaces;

впоследствии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...