忽略从select语句插入时的错误SQL
从select中插入数据时,有没有一种方法或命令可以忽略重复的主键错误?忽略从select语句插入时的错误SQL
说明 让我们假设我有这个疑问:Insert into my_table values (select * from my_second_table)
但my_table
对id
主键。另外my_second_table
有一个名为id
的列,因此尝试插入时会导致重复的主键错误。
我知道我可以使用go
避免这些问题,但在这种情况下,我不能使用它,因为是从选择插入,或至少是我所知道的。
有什么我可以做的吗?
回答:
不同的数据库有不同的冲突解决方法。在大多数数据库以下工作:
Insert into my_table values (. . .) -- you should always list all the columns select . . . -- you should list all the columns
from my_second_table t2
where not exists (select 1 from my_table t where t.id = t2.id);
这不是一个完美的解决方案,因为比赛的条件可能会导致问题。但是,如果在执行此操作时没有其他数据修改查询在服务器上运行,它将起作用。
以上是 忽略从select语句插入时的错误SQL 的全部内容, 来源链接: utcz.com/qa/265256.html