logo

额外区块类型 (EBT) - 全新的布局构建器体验❗

额外区块类型 (EBT) - 样式化、可定制的区块类型:幻灯片、标签页、卡片、手风琴等更多类型。内置背景、DOM Box、JavaScript 插件的设置。立即体验布局构建的未来。

演示 EBT 模块 下载 EBT 模块

❗额外段落类型 (EPT) - 全新的 Paragraphs 体验

额外段落类型 (EPT) - 类似的基于 Paragraph 的模块集合。

演示 EPT 模块 滚动

滚动

在 Drupal 7 中操作数据库 - 第10课 - 删除查询(DELETE)

14/10/2025, by Ivan

删除查询应使用查询构造器(Query Builder)。它们从函数 db_delete() 开始:

<?php
$query = db_delete('node', $options);
?>

此删除查询将从表 node 中删除记录。请注意,无需在表名外加花括号,查询构造器会自动处理。删除查询使用 Fluent API(链式调用),即除 execute() 之外的所有方法都会返回查询对象本身(与更新 UPDATE 和插入 INSERT 查询相同)。

删除查询非常简单,仅使用 WHERE 表达式。关于 WHERE 的详细内容将在后续课程中讲解,现在我们来看一个基本的删除示例:

<?php
$num_deleted = db_delete('node')
  ->condition('nid', 5)
  ->execute();
?>

此查询会删除表 node 中所有 nid = 5 的行。

它等价于以下 SQL 语句:

DELETE FROM {node} WHERE nid=5;

execute() 方法返回执行后被删除的记录数量。