Insert添加重复数据报错
用Insert批量添加时报错,因为表中设置了主键。
但是Insert中有重复的 所以报错,但是一报错后面的就添加不了了。
怎么让添加时如果主键已经存在了 就不添加,也不报错?
[解决办法]
两种方法可解决,方法一比较好些:
1 改造 INSERT 语句,先查询是否存在,如果不存在才插入:
if not exists ( select ... ) insert ...
2 截取主键冲突的异常,忽略它:
for (int i = 0; i < 1000; i++)
{
try
{
//插入一条数据
}
catch (System.Data.SqlClient.SqlException ex)
{
System.Data.SqlClient.SqlException sqlex = ex as System.Data.SqlClient.SqlException;
if (sqlex.Number != 2627)
throw;
}
}