删改数据
在单表操作中可以用到删改数据方法,包括update
(多联表也可),delete
,add
等
update
方法为更新数据,返回成功(true
)或者失败(false
),条件内容参考后面选择器
的使用
// update `DATABASE`.`TABLE` set `name`='xxx', `type`=5 $result =$this ->testDAO ->update (array ('name' =>'xxx' ,'type' =>5));
delete
方法返回成功(true
)或者失败(false
),条件内容参考后面选择器
的使用
// delete from `DATABASE`.`TABLE` $result =$this ->testDAO ->delete ();
add
方法 insert成功时默认返回数据库新插入自增ID,第二个参数为false
时 返回成功(true
)或者失败(false
)
// insert into `DATABASE`.`TABLE` (`name`,`type`) values('test', 1) $sets =array ('name' =>'test' ,'type' =>1);// false 时返回true/false $id =$this ->testDAO ->add ($sets ,false );
框架同时也提供了受影响行数的返回,可以在/config/config.php
中,将字段returnAffectedRows
置为true
即可
addCount
方法返回成功(true
)或者失败(false
),相当于update set count = count+n
// update `DATABASE`.`TABLE` set `type`=`type`+5 $result =$this ->testDAO ->addCount (array ('type' =>5);
注意:
新版本addCount方法可以被update方法替代,目前暂时还保留,但已不建议使用
。使用方法如下:
// update `DATABASE`.`TABLE` set `type`=`type`+5 $result =$this ->testDAO ->update (['type' =>['+' =>5]]);// update `DATABASE`.`TABLE` set `type`=`count`-`num`-4 $result =$this ->testDAO ->update (['type' =>['-' =>['count' ,'num' , 4]]]);
createOrUpdate
方法 为添加数据,但当有重复键值时会自动update数据
// 第一个参数为insert数组,第二个参数为失败时update参数,不传即为第一个参数 $sets =array ('name' =>'test' ,'type' =>1);$result =$this ->testDAO ->createOrUpdate ($sets );
addList
(或insertList
)方法为批量添加数据,第二个参数为批量执行的个数,默认一次执行100行返回成功(true
)或者失败(false
)
// 参数为批量数据值(二维数组),键值必须统一 $sets =array (array ('name' =>'test1' ,'type' =>1),array ('name' =>'test2' ,'type' =>2),- );
$result =$this ->testDAO ->addList ($sets );
Biny 2.9.0之后,支持insert
方法,作用等同于add
addList
/insertList
支持replace into / insert ignore逻辑, 默认null
第三个参数为true
时,会以replace into 逻辑执行,false
时,会以insert ignore into 逻辑执行
// REPLACE INTO TABLE ... $sets =array (array ('name' =>'test1' ,'type' =>1),array ('name' =>'test2' ,'type' =>2),- );
$result =$this ->testDAO ->addList ($sets , 100,true );