Ada*_*m B 1 mysql database dao
这更像是一个正确性问题.假设我的数据库中有一个包含主键列的表.在我的DAO代码中,我有一个名为insertRow(string key)的函数,如果表中不存在该键并且使用该键插入一个新行,则该函数将返回true.否则,如果该键已经存在,则返回false.让insertRow首先检查密钥是否存在更好/更糟或只是继续执行插入并捕获重复密钥错误?或者在单个选择语句中保存太微不足道的优化甚至令人担心?
所以在sudo代码中:
boolean insertRow(String key){
//potentially a select + insert
if(select count(*) from mytable where key = "somekey" == 0){
insert into mytable values("somekey")
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
要么
boolean insertRow(String key){
try{
//always just 1 insert
insert into mytable values("somekey")
return true;
} catch (DuplicateKeyException ex){}
return false;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1400 次 |
| 最近记录: |