Drupal 数据库接口 db_insert(), db_update(), db_delete() 用法

注意事项:
如支付后未自动显示完整内容,可点击“已支付?点此查询订单”进行查看。
如遇内容不符或缺失,请联系内容作者或平台客服(工作日 9:00-18:00)。

除了 db_query(), db_select(),Drupal 中最常用的几个数据库接口还有 db_insert(), db_update()db_delele()

db_insert()

在 Drupal 中,使用 db_insert() 函数来构造 INSERT 请求,通过不同的组合可以实现不同的操作方式。以下是一个简单的插入请求示例:

// *注意:本代码仅用于说明 db_insert() 的用法结构
//       实际使用时请勿用此方式添加节点记录
$nid = db_insert('node')
        ->fields(array(
          'title' => 'Example',
          'uid' => 1,
          'created' => REQUEST_TIME,
        ))
        ->execute();

这个请求所返回的结果与以下请求是等价的

INSERT INTO {node} (title, nid, created) VALUES ('Example', 1, 1488980255);

对于 db_insert()execute() 方法将返回插入数据的自增值(auto-increment),所以在示例中直接将结果分配给了 $nid 变量。对于没有自增值的数据库表,则不建议直接将返回结果用于赋值。

如果需要进行多次 INSERT 请求,使用 fields() 方法时可以不设置值,而通过 values() 方法进行设置,相关示例如下:

db_insert('node')
  ->fields(array('title', 'uid', 'created'))
  ->values(array('Example 1', 1, REQUEST_TIME)
  ->values(array('Example 2', 1, REQUEST_TIME)
  ->values(arra
剩余50%内容付费后可查看
看完了?还不过瘾?点此向作者提问