2

我想从选择中将数据插入表中。到目前为止,这工作正常...

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

但是当我第二次运行时,该语句引发异常,因为某些行已经存在。

我能做些什么来解决这个问题?

感谢您的帮助,乌克曼

4

1 回答 1

5

您可以通过将其添加为子句来插入不存在的行。

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);
于 2013-05-21T13:58:42.220 回答