#1 jake

delete

按条件删除记录

用法:delete($conditions)

参数:

$conditions,数组形式,查找条件,此参数的格式用法与find/findAll的查找条件参数是相同的。

delete的操作将删除符合$conditions条件的记录。

例子:

// 这里我们将删除小李的第二条留言,也就是gid=13的记录
// 构造查找条件
$conditions = array('gid'=>13); // 构造条件
$gb = spClass('gb');
$gb->delete($conditions);               

原来的数据表:

12 小李 我的留言 2009-10-26 10:04:53 218.82.32.12

13 小李 我的第二条留言 2009-10-26 10:04:53 218.82.32.12

经过执行$gb->delete($conditions);后:

12 小李 我的第一条留言 2009-10-26 10:04:53 218.82.32.12

gid为13的记录已被删除

返回:

返回TRUE则是语句执行成功,无论有无符合条件的记录,只要操作正常执行则返回TRUE。

返回FALSE是语句执行失败

请注意,delete和update的返回结果,如为TRUE,则代表数据库操作执行成功,但并不代表肯定是删除或更新了记录。只要是没有执行错误,都只会返回TRUE。如果希望能够检查,是否有delete或update了记录,可以使用affectedRows来获取delete或update的记录数量。

即使delete没有删除任何一条记录,只要语句执行没有问题,也会返回TRUE。

affectedRows可以获取delete、update、create等操作的“影响行数”,也就是“删除了多少条件记录”或“新增/更新了多少条记录”。
deleteByPk

按给定的数据表的主键删除记录

用法:deleteByPk($pk)

参数:

$pk,字符串或数字,数据表主键的值。

该函数简化了delete的操作,根据给定的主键删除对应的记录。

例子:

// 在gb表中gid就是主键,我们将删除gid为13的记录
// 使用deleteByPk
$gb->deleteByPk(13);
// 等同于使用delete
$conditions = array('gid'=>13); // 构造条件
$gb->delete($conditions);
返回值参照delete函数。

2012-08-04 16:25:08