判断数据库表格中某一条纪录已经存在
怎样判断数据库表格中某一条纪录已经存在,如果存在则不保存,不存在则保存。这句代码应该怎样写?例如:某条记录 学生=张三,学号:123
怎样在保存这条记录前先判断是否存在,再做是否保存的操作?
大家帮帮忙,先谢了!
Insertcmd=" insert into table ( ) values ( )" --------------------编程问答-------------------- if Exists(select * From table where .....)
begin
update ...
end
else
begin
insert into ...
end --------------------编程问答-------------------- 存储过程
if not Exists(select 学生 from table1 where 学生='张三' or 学号='123'
begin
insert into table1 (学生,学号) values ('张三', '123')
end
--------------------编程问答-------------------- string sql ="if not Exists(select 学生 from table1 where 学生='张三' or 学号='123') begin insert into table1 (学生,学号) values ('张三', '123') end";
....
int re=cmd.ExecuteNonQuery();
if(re=0);
//失败;
else
//成功;
--------------------编程问答-------------------- 最可靠的办法就是在此列上建唯一索引,当添加数据的时候捕获异常,上面的办法都可以不过只有在调用上述SQL或存储过程之前启用事务才可以保证唯一.不过启用事务后程序的效率会降低. --------------------编程问答-------------------- zhiang75(zhiang75
启用事务?怎么用?新手不太懂,还请多多指教,谢谢啦
上面的代码不能直接用吗? --------------------编程问答-------------------- 不用事务,如果你在前台程序启用了事务,而占着事务没有及时关闭,或者占用时间比较长的话,会导致数据库被死锁
最好的办法是使用存储过程,当然,如果你的程序很小同时对存储过程不熟悉的话,可以不考虑使用存储过程
--------------------编程问答-------------------- 其实很简单的做法:
先依据要插入的记录查询数据库,看查询的结果如何,来判断是否已经有记录存在!
--------------------编程问答-------------------- 我的意思是建立唯一索引,在数据库中这个会吗?
然后直接调用插入SQL插入数据,然后捕获异常如果有重复的,数据库就会提示你的。
补充:.NET技术 , C#