我想从select中将数据插入表中。到目前为止这个工作正常......
INSERT INTO table_2
SELECT t.id, 1
FROM table_1 t
WHERE t.title LIKE '%search%';
但是当我第二次运行它时,该语句引发了一个异常,因为某些行已经存在。
我该怎么做才能解决这个问题?
感谢您的帮助, Urkman
答案 0 :(得分: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);