1

好的,所以我读到了drupal_write_record,它显然是一个执行 insert_or_update 的函数。

但是,从我读到的内容来看,它本身并不知道是进行插入还是更新,但这取决于第三个参数的存在(或不存在):$primary_keys默认为array(). 这是真的?我是否必须先选择记录,看看是否存在,然后将第三个参数传递给drupal_write_record

我问这个,因为我通常如何执行插入或更新功能是根据主键进行选择,如果该行存在,那么我必须进行更新,如果不存在,则插入。这不是行之有效的方式drupal_write_record吗?

顺便说一下,使用 Drupal 7.0。

4

1 回答 1

1

根据文档:

$primary_keys:表示这是要插入的新记录,省略此参数。如果这是更新,则此参数指定主键的字段名称。如果key中只有1个字段,可以传入一个字符串;如果键中有多个字段,则传入一个数组。

来源:drupal_write_record API 文档

如果第三个参数$primary_keys-- 是一个包含主键字段名称的数组,那么它将尝试更新现有记录。如果您省略 value $primary_keys,它将默认为一个空数组,这意味着它将插入一条具有自己唯一 ID 的新记录。

于 2012-06-12T15:56:15.243 回答