额外区块类型 (EBT) - 全新的布局构建器体验❗
滚动
删除查询 delete
01/10/2025, by Ivan
Menu
删除查询始终应当使用查询构建器对象。它们通过 delete() 方法来执行,如下所示:
$query = $connection->delete('mytable', $options);
这会创建一个删除查询对象,用于从 mytable 表中删除记录。请注意,表名不需要使用花括号,因为查询构建器会自动处理。
删除查询对象使用的是流式 API。也就是说,所有方法(除了 execute())都会返回查询对象本身,从而允许方法链式调用。在很多情况下,这意味着根本不需要将查询对象保存在变量中。
删除查询在概念上非常简单,仅由 WHERE 子句组成。WHERE 子句的完整结构在“条件子句”部分中有详细描述,这里只会简单提及。
一个完整的删除查询形式如下:
$num_deleted = $connection->delete('mytable')
->condition('myfield', 5)
->execute();
上述查询会删除 {mytable} 表中所有 myfield 列等于 5 的行。这等同于以下 SQL 查询:
DELETE FROM {mytable} WHERE myfield=5;
execute() 方法会返回此次查询所删除的记录数。