аналогичный квест здесь: Помощь с запросом к базе данных в drupal - если существует update else insert
Но drupal_write_record () третий аргумент должен определить обновить или вставить. Может быть, у drupal есть другая функция, которая сама определяет вставку или обновление по первичному ключу? Или я должен программировать себя?