并发导入 数据唯一性校验问题

x44348428 x44348428 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我现在是要支持多个客户端并发导入资料
目前的做法的是 每个用户执行导入 就单起一个线程
比如:A、B用户同时在导入

那A用户开始校验 身份证的唯一性(唯一性校验的字段有很多,如:客户编号、手机号码)
校验成功的话就拼insert的Sql
sql如下:
INSERT INTO xxx("FunctionCode", "FunctionName") VALUES ('aaaaaaaaa', 'bbbbbbbbbb');
INSERT INTO xxx("FunctionCode", "FunctionName") VALUES ('aaaaaaaaa', 'bbbbbbbbbb');
直到1000条 再把这个sql传到数据库,用存储过程执行

现在的问题有两个
1、当用户A在业务层拼sql的时候(还没到1000条)
此时用户B也在校验身份证唯一性 那有可能A用户的记录 跟B用户的记录有重复insert
2、当用户A把1000条sql语句提交到数据库里去执行的时候(还没执行完) 那此时用户B也在校验身份证唯一性 那也有可能A用户的记录 跟B用户的记录有重复insert

谢谢!
...全文

相关推荐

评论 9
收藏 已收藏
分享
返回顶部
x44348428
疑难问题 22,298 成员 121,727 内容