作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
删除查询必须使用一个查询构建器对象。它们使用db_delete()函数作为开始,如下所示:
<?php
$query = db_delete('node', $options);
?>
上述代码创建了一个删除查询对象,它将会删除节点表中的对应记录。注意这里没有为表名使用花括号,这是因为查询构建器能够自动的处理这一点。
删除查询对象使用的API具有链式特性。也就是说,所有的方法(除了execute()),返回的都是查询对象本身,这样,这些方法调用就可以采用链式结构了。在大多数情况下,这也就意味着,我们不需要将查询对象保存在一个变量中了。
删除查询的结构是非常简单的,它只包含一个WHERE语句。有关WHERE语句的结构,我们在这里只是简单的说明,更详细的介绍可参看后面的条件语句一节。
下面是一个完整的删除查询示例。
<?php
$num_deleted = db_delete('node')
->condition('nid', 5)
->execute();
?>
上面的查询将会删除{node}表中nid为5的所有记录。它等价于执行下面的查询:
DELETE FROM {node} WHERE nid=5;
execute()方法将会返回被删除的记录数量,作为查询的结果。