保证唯一性只能靠建唯一索引
2016-02-25 00:00
316 查看
在数据库里面,如果想保证某个字段的唯一性,一定要建唯一索引,而不能指望在插入或更新前的代码检测。
比如
IF NOT EXISTS(SELECT 1 FROM User WHERE Email=@Email)
{
INSERT …
}
1、 这种做法不能保证并发情况下一定正确;
2、 数据库忙的时候,可能会出现令人意外的结果。
这是很浅显的道理,可惜我要经过许多弯路之后才明白。并且历经千辛万苦才修改过来。
比如
IF NOT EXISTS(SELECT 1 FROM User WHERE Email=@Email)
{
INSERT …
}
1、 这种做法不能保证并发情况下一定正确;
2、 数据库忙的时候,可能会出现令人意外的结果。
这是很浅显的道理,可惜我要经过许多弯路之后才明白。并且历经千辛万苦才修改过来。
相关文章推荐
- DataGridView里的下拉框绑定
- 32位与4G内存限制
- Redis基础
- 利用远程数据库存储过程的OUTPUT参数来获得返回值
- 多个泛型
- 在JavaScript中控制链接的点击
- 数据库迁移:从SQL2005到SQL2008
- 《设计模式》学习笔记——桥接模式
- UITableView 小节-备
- 操作系统学习笔记三 进程
- 学习笔记——WCF
- WINDOWS 2008 的任务计划
- 软件质量与公司盈利
- php引用(&)详解及注意事项
- ReST Editor下载
- GitLab: Failed to authorize your Git request: inte
- (翻译)React.createClass对比extends React.Component
- webpack备忘录
- Eclipse SVN插件检出Src下面的包变成了文件夹解决
- 实现 iOS App 在线安装(局域网OTA)