У меня есть SELECT
запрос, подобный этому:
SELECT id_default_value, id_type FROM ntg_attribute, ntg_module_attribute
WHERE ntg_attribute.id_module_attribute = ntg_module_attribute.id;
Возвращает 2 столбца, id_default_value
и id_type
. Затем я хотел бы использовать эти данные в качестве основы INSERT
запроса в другую таблицу, ntg_default_value
, используя id_default_value
в качестве ключа и id_type
в качестве вставленного значения.
Следующее уже близко, но не совсем:
INSERT INTO ntg_default_value (id, id_type)
SELECT id_default_value, id_type FROM ntg_attribute, ntg_module_attribute
WHERE ntg_attribute.id_module_attribute = ntg_module_attribute.id;
Это дает мне:
ERROR: duplicate key value violates unique constraint "pk_ntg_default_value"
Возможно ли то, что я пытаюсь сделать? Если да, то как мне построить запрос?
(PostgreSQL 8.4.6)