避免重复入库的二次开发方法
二次开发避免重复入库的方法有很多,其中一种是在数据库中设置唯一约束。唯一约束是表中的一列或多列的值能唯一的标识表中的每一行。例如,如果一个表有一个主键,那么这个主键就可以作为唯一约束来确保每一行都是唯一的。另外,还可以使用事务来避免重复入库。事务是一组原子性的SQL语句,要么全部执行成功,要么全部执行失败。通过使用事务,可以确保在执行多个操作时,只有一个操作被执行。
帝国cms二次开发写SQL时,会用到insert插入数据,运行一次插入数据一次,那么如何避免已经插入的数据,第二次不在重复入库了。
很简单,代码如下
$cz=$empire->fetch1("selectwpidfrom{$dbtbpre}WPsharewhereid='$r[id]'andclassid=$r[classid]limit1");
直接插叙数据库已有的信息,查询条件劲量选择不宜重复、可以分别的字段。
最后判断下就可以了,能查询到的就代表已经入库了,查不到的就代表没有入库,可以入库。
if(!$cz[wpid]){$empire->query("insertinto{$dbtbpre}WPshare(wpid,id,classid,tname,title,downpath)values(NULL,'$r[id]','$r[classid]','$tbname','$r[title]','$onlineurl[1]')");}