搜索
编程论坛
→
数据库技术
→
『 VFP论坛 』
→ 多人向sqlserver远程输入数据,避免id最大值重复问题
标题:
多人向sqlserver远程输入数据,避免id最大值重复问题
只看楼主
ljlbxhlc
等 级:
论坛游民
帖 子:124
专家分:20
注 册:2013-9-24
结帖率:
25.71%
楼主
已结贴
√
问题点数:10 回复次数:8
多人向sqlserver远程输入数据,避免id最大值重复问题
一个软件是多人同时操作一个远程sql数据表,表的id字段是序号!我用一下命令处理,但是有id重复的情况,往大侠帮助!!!
Insert into 表(id) select isnll(max(id),0)+1 from 表
多人输入id会有重复,该如何解决?
搜索更多相关主题的帖子:
远程
sqlserver
输入
重复
最大值
2021-04-28 11:00
厨师王德榜
等 级:
版主
威 望:
183
帖 子:942
专家分:4724
注 册:2013-2-16
第
2
楼
得分:2
在服务器端,把id列设置为“自增长”字段。一般主键最好不带任何业务逻辑。
2021-04-29 09:21
radiofan
等 级:
贵宾
威 望:
11
帖 子:466
专家分:696
注 册:2006-7-30
第
3
楼
得分:2
回复 楼主 ljlbxhlc
2021-04-29 11:09
ljlbxhlc
等 级:
论坛游民
帖 子:124
专家分:20
注 册:2013-9-24
第
4
楼
得分:0
谢谢,各位,可是我的这个字段id生成的同时还有其他用处,
我用from 表 with (holdlock) 行不?
这样在一个人进行插入的时候其实人就不能插入了!
可是,这样的话。。第二个插入失败后会怎么样?会继续等待再次插入,
还是提示插入失败,结束呢?
2021-04-29 13:45
radiofan
等 级:
贵宾
威 望:
11
帖 子:466
专家分:696
注 册:2006-7-30
第
5
楼
得分:0
以下是引用
ljlbxhlc
在2021-4-29 13:45:57的发言:
谢谢,各位,可是我的这个字段id生成的同时还有其他用处,
我用from 表 with (holdlock) 行不?
这样在一个人进行插入的时候其实人就不能插入了!
可是,这样的话。。第二个插入失败后会怎么样?会继续等待再次插入,
还是提示插入失败,结束呢?
如果一定要这样的话,就给出提示,记录正在被处理,其他人等处理完了再处理呗 !
2021-04-29 13:57
laowan001
等 级:
版主
威 望:
54
帖 子:802
专家分:1914
注 册:2015-12-30
第
6
楼
得分:2
自增长的字段不需要也不能赋值,可以用事务处理,保证存储的完整。
也可以先插入记录,获得插入记录的id,然后用update更新其他字段
2021-04-30 08:28
吹水佬
等 级:
版主
威 望:
432
帖 子:10064
专家分:41463
注 册:2014-5-20
第
7
楼
得分:2
关键是各人在计算出这个ID时的同步问题,读取MAX(ID)都有可能是同一个ID
如果有读记录时自动锁处理就没问题,否则就要主动锁定/解锁记录
2021-04-30 10:43
sash
等 级:
业余侠客
威 望:
6
帖 子:63
专家分:245
注 册:2014-4-25
第
8
楼
得分:2
楼主你好,要实现你的要求,最好的办法就是使用自增量字段来解决问题。因为根据你的要求是:这个ID必须是唯一的,顺序的,这个由数据库系统自动生成和维护是最好的方法。至于这个ID还需要有其它用处,你可以等它生成后再利用。
2021-05-03 10:52
ljlbxhlc
等 级:
论坛游民
帖 子:124
专家分:20
注 册:2013-9-24
第
9
楼
得分:0
回复 7楼 吹水佬
你好,您说的是我想的,可我对数据锁不太了解。。想请教。。。
Insert into 表 (id) select max(id)+1 from 表 with ( holdlock)
这个语句会产生什么样的效果,是不是在可以加锁。。。
如何是用不用解锁。。另外,在别人也同时用此语句插入记录时会不会插不进去呢?
请教。。。。谢谢
2021-05-04 15:12
9
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-505601-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.712010 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved