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();