关于多用户操作数据时产生的并发性

sportboy03 2012-05-06 04:46:30
最近想设计一个系统,是关于多用户的。数据库用的SQL2008。

多用户的问题是当用户同时插入数据时,是不是造成数据库出错或者数据不稳定?

该怎么解决这样的问题呢。

用数据库的锁机制吗? 当一个用户操作数据时,锁住表使其它的用户不能操作。

还是用排他KEY 呢? 在表里新建个字段标记表是否可用, 当用户操作数据库时先检查一下该表是否可用?

请问我以上的思路是否正确呢。 或者还有其它的好方法? 谢谢了。
...全文
197 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
neell 2012-05-06
  • 打赏
  • 举报
回复
LZ的同时多人使用,是否包括一种情况:同时多人修改(包括删除)。如果仅仅是同时多人添加,那么毫无问题。不会有并发问题;
如果存在同时多人修改的可能性的话,那就需要用“开放式并发”或“非开放式并发”。
这2种东西比较特殊,略复杂,其中“开放式并发”相对简单。即:一个人修改并提交,被告知原始数据已被修改,则报错;自己找找这方面资料吧,VS与.NET已经集成了一些简单实现的方法。
threenewbee 2012-05-06
  • 打赏
  • 举报
回复
比如主键递增这种情况,或者只要是有主键。

你程序无论用什么方式,都不可能在数据库中插入两条主键相同的记录。
sportboy03 2012-05-06
  • 打赏
  • 举报
回复
数据库会自动处理吗?难道我想多了。但是在某个用户修改数据时,是不是应该对表锁定啊[Quote=引用 2 楼 的回复:]

调用sql对数据库修改本身是自动上锁的。
如果要保证程序逻辑的一致性需要使用事务。
[/Quote]
sportboy03 2012-05-06
  • 打赏
  • 举报
回复
你的意思是,多条数据同时插入时,SQL会自动处理吗?我的主键是自增的。[Quote=引用 1 楼 的回复:]

数据库有主键。插入数据不会出现你说的什么错误或不稳定吧
[/Quote]
threenewbee 2012-05-06
  • 打赏
  • 举报
回复
调用sql对数据库修改本身是自动上锁的。
如果要保证程序逻辑的一致性需要使用事务。
fxxyz 2012-05-06
  • 打赏
  • 举报
回复
数据库有主键。插入数据不会出现你说的什么错误或不稳定吧

62,025

社区成员

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

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

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

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