Drupal数据库操作-db_merge判断记录是否存在,并进行相关的插入或者更新操作

Drupal 判断记录是否存在,并进行相关的插入或者更新操作。是Drupal开发中经常遇到的情况,可以使用db_merge()。

一、如果记录存在,就更新它,把value更新为指定的值;如果不存在,就插入这条记录。


db_merge('variable')
->key(array('name' => $name))
->fields(array('value' => serialize($value)))
->execute();

二、如果记录存在,就更新update字段的内容(name字段为Tiffany);如果字段不存在,就插入insertFields的内容;

db_merge('people')
->key(array('job' => 'Speaker'))
->insertFields(array(
'age' => 31,
'name' => 'Meredith',
))
->updateFields(array(
'name' => 'Tiffany',
))
->execute();