PostgreSQL: вставить из другой таблицы

Я пытаюсь вставить данные в таблицу из другой таблицы, а в таблицах есть только один столбец в общий. Проблема в том, что в таблице TABLE1 есть столбцы, которые не принимают нулевые значения, поэтому я не могу оставить их пустыми и не могу получить их из таблицы 2.

У меня есть таблица TABLE1: id, col_1 (не ноль), col_2 (не ноль), col_3 (не ноль)

и ТАБЛИЦА2: id, col_a, col_b, col_c

, как я могу вставить идентификатор из TABLE2 в TABLE1 и заполнить col_1-3 жестко закодированными строками, такими как «data1», «data2», «data3»?

INSERT INTO TABLE1 (id) SELECT id FROM TABLE2 WHERE col_a = "something";

приведет к:

ОШИБКА: нулевое значение в столбце «col_1» нарушает ограничение на ненулевое значение

89
задан Brian Tompsett - 汤莱恩 16 February 2017 в 14:12
поделиться