假设:
表A以身份证号作为主键.批量插入数据到表A 用什么方法忽略主键重复的记录继续插入而完成此次操作。类似于Access中的导入。然后对主键重复的记录另行处理。 这里就不讨论插入方法了,sql语句拼接也好,单条执行也好。 但是要避免的是对每一条记录到表A里select一次看是否存在。这样效率太低了。 问题是,还有什么更好的办法吗? 考虑过不使用身份证号作为主键的问题。假设生成自动增量ID字段作为主键。 批量插入后再删除重复记录中ID号高的那一条。问题是,这样的方法总感觉有点不得已而为之。 有请各位兄弟姐妹帮忙~ 在程序里这一块我主要是作错误处理。因为你没法保证用户不会提交重复数据,最人性化的当然是忽略并指出用户重复的数据,同时写入有效数据啦。主键选择应该没问题的。
表A以身份证号作为主键.批量插入数据到表A 用什么方法忽略主键重复的记录继续插入而完成此次操作。类似于Access中的导入。然后对主键重复的记录另行处理。 这里就不讨论插入方法了,sql语句拼接也好,单条执行也好。 但是要避免的是对每一条记录到表A里select一次看是否存在。这样效率太低了。 问题是,还有什么更好的办法吗? 考虑过不使用身份证号作为主键的问题。假设生成自动增量ID字段作为主键。 批量插入后再删除重复记录中ID号高的那一条。问题是,这样的方法总感觉有点不得已而为之。 有请各位兄弟姐妹帮忙~ 在程序里这一块我主要是作错误处理。因为你没法保证用户不会提交重复数据,最人性化的当然是忽略并指出用户重复的数据,同时写入有效数据啦。主键选择应该没问题的。
(select 1 from t where 主键 =a.主键)
(select a.主键 from t ,inserted a where t.主键 =a.主键)
----------------谢谢两位~。