数据库插入,多人操作,如何能做到绝对不重复插入?

omelan 2010-08-31 04:52:35
大家好,请教大家一个问题。

在写插入语句时候,如何能保证绝对的不重复的插入呢?

按照传统的思路首先先判断数据是否存在,如果存在就不插入,不存在即插入数据。

但是如果在网络共享的数据库,多人在操作,可能会出现,A/B同时判断是否存在,在其中一人插入前,均返回不存在,最后两者都执行了插入操作。那么最终的数据库是会出现重复数据的。请问怎么解决。

...全文
162 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
duanzhi1984 2010-08-31
  • 打赏
  • 举报
回复
alter table student add constraint un_name unique(name) --表STUDENT,唯一列为NAME



对于你说的问题
但是如果在网络共享的数据库,多人在操作,可能会出现,A/B同时判断是否存在,在其中一人插入前,均返回不存在,最后两者都执行了插入操作。那么最终的数据库是会出现重复数据的。请问怎么解决。


数据库会自行解决的。。你不用担心,你只要按数据库的约束设置即可
duanzhi1984 2010-08-31
  • 打赏
  • 举报
回复
alter table student add constraint un_name unique(name)
noteasytoregister 2010-08-31
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 omelan 的回复:]

但是判断是否重复的字段,不能作为主键啊。
[/Quote]
用unique约束。
omelan 2010-08-31
  • 打赏
  • 举报
回复
但是判断是否重复的字段,不能作为主键啊。
noteasytoregister 2010-08-31
  • 打赏
  • 举报
回复
如果有主键就不会重复了。
喜-喜 2010-08-31
  • 打赏
  • 举报
回复
设置主键约束

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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