2013-05-21 6 views
1

Я хочу вставить данные в таблицу из выбранного. Это прекрасно работает до сих пор ...PostgreSQL insert into from select, но игнорировать существующие строки

INSERT INTO table_2 
    SELECT t.id, 1 
     FROM table_1 t 
     WHERE t.title LIKE '%search%'; 

Но когда я запускаю это во второй раз, оператор вызывает исключение, потому что некоторые из строк уже существует.

Что я могу сделать, чтобы обойти это?

Спасибо за вашу помощь, Urkman

ответ

4

Вы можете вставить строки, где они уже не существуют, добавив, что в п.

insert into table_2 
select t.id, 1 
    from table_1 t 
where t.title like '%search%' 
    and not exists (select t2.id from table_2 t2 where t2.id = t.id); 
Смежные вопросы