紧急求助:如何取出最大ID值再插入到当前表的一个字段?

e251396 2011-10-13 10:40:36
RT,

我的数据结构是这样的:

userName EnterpriseID
11000 1
11001 1
.
.
.

21000 2
21001 2

我初始化企业表的时候会自动在用户表生成一个管理员用户,如11000、21000,用户名由EnterpriseID(1000)开始累加,当作每个企业的用户名

请问这样添加用户时,用怎么样的方式可以防止相同的企业下的管理中角色用户并发添加子用户时,用max(userName)取到相同的userName,如都取到11000或11001?
...全文
95 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
accpwangxinchao 2011-10-13
  • 打赏
  • 举报
回复
用select @@Identity
abin30 2011-10-13
  • 打赏
  • 举报
回复
这样怎么样

insert into UserTable(userName EnterpriseID)select max(userName)+1 ,EEID from UserTable where EnterpriseID=@EID ;

插入的时候不会有冲突的UserName ... 这里 UserName是整型 哈,如果是字符串,先转换一下

e251396 2011-10-13
  • 打赏
  • 举报
回复
效果就是要这样:

userName EnterpriseID
11000 1
11001 1
.
.
.

21000 2
21001 2
.
.
.

31000 3
31001 3
CalvinR 2011-10-13
  • 打赏
  • 举报
回复
是看的有点晕啊
直截了当的说了你要做什么效果就行了
e251396 2011-10-13
  • 打赏
  • 举报
回复
即防止企业1的管理员角色用户在并发添加用户时都取到11000?
梦纷飞舞 2011-10-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zxckfc 的回复:]

userName 设置为自动递增,起始为1000不行?
说得有点乱,不是很明白
[/Quote]

对头
e251396 2011-10-13
  • 打赏
  • 举报
回复
更正一下“请问这样添加用户时,用怎么样的方式可以防止相同的企业下的管理中角色用户并发添加子用户时,用max(userName)取到相同的userName,如都取到11000或11001?”

中的一个错误:不是管理中角色用户,是管理员角色用户
e251396 2011-10-13
  • 打赏
  • 举报
回复
然后1000的意思就是大概每个企业都会在1000人内。
e251396 2011-10-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 myhope88 的回复:]
看不清楚啥意思,帮顶下
[/Quote]

晕,意思就是用户表中的userName是由企业ID和1000的自增组成,但每个企业的用户又必须是从1000+企业ID开始。
myhope88 2011-10-13
  • 打赏
  • 举报
回复
看不清楚啥意思,帮顶下
zxckfc 2011-10-13
  • 打赏
  • 举报
回复
userName 设置为自动递增,起始为1000不行?
说得有点乱,不是很明白
暖枫无敌 2011-10-13
  • 打赏
  • 举报
回复

insert into 表名(字段一,字段二,...) values('CC','DD',...) select @@Identity as 'newId';

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧