http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 3414|回复: 4

[其他] 表的加锁解锁

[复制链接]
发表于 2017-8-15 14:26:22 | 显示全部楼层 |阅读模式
苏大侠:
       最近公司的一个程序出了点问题,但这个问题一年中也就一二次,并未引起注意。但领导发话了,必须解决!
本着二步走的想法(一边求助,一边在网上找)
特来问问
问题:
       有二个表,主子表。需要向其中批量插入记录。但如果有其它的电脑也在进行相同操作的话(比如,建编号),就会出现记录重复的情况。在网上看了一下,说是要给表加锁。
但问题来了,在插入记录之前先要检查主表中有无相同的记录,如无则插入。同时也涉及到子表的操作,还涉及到其它的SQL语句。
     百度 倒是百问不烦,可给出的大都是无用的信息。


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2017-8-15 14:46:42 | 显示全部楼层
是不是说只要编号不重复即可,如果是这样的话,那么很简单,只需要写个独立生成编号的存储过程,所有地方都统一调用这个存储过程来获取编号,生成编号的存储过程加下锁就行了,如果只有一个存储过程来生成,其实不需要加锁也不可能重复,只要你的算法没有问题,因为存储过程本身就带有锁,不可能同时执行,会自动排队
 楼主| 发表于 2017-8-15 16:08:01 | 显示全部楼层
问题是 这个软件在多个部门都安装了。八点一上班,他们就会操作“编号批量建立”。
 楼主| 发表于 2017-8-16 11:03:04 | 显示全部楼层
用一个土方法解决了,编号建立完后,再检查一下是否有重复的,如有则删除
发表于 2017-8-16 16:27:48 | 显示全部楼层
就是我说的写一个共用的生成编号的方法就行了,对这个方法进行加锁。最好是个存储过程,所有软件都调用这同一个存储过程,在存储过程里加锁,这样就不会重复了。
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-22 20:51

© 2014-2021

快速回复 返回顶部 返回列表