ähnliche Quest ist hier: Hilfe mit db-Abfrage in Drupal - wenn vorhanden Update sonst einfügen
Aber drupal_write_record () drittes Argument ist zu bestimmen, update oder einfügen. Vielleicht hat Drupal eine andere Funktion, wer selbst bestimmen einfügen oder update durch Primärschlüssel? Oder soll ich es mir selbst programmieren?
Sehen Sie sich die db_merge () Funktion, ich denke, es hat die Funktionen, die Sie suchen.
Wenn Sie wirklich nicht wissen, ob es dort bereits einen Datensatz gibt, müssen Sie wahrscheinlich etwas früher in Ihrem Programmfluss überprüfen. Normalerweise würde ich die Funktion oder was auch immer mit einem Aufruf der DB starten, und wenn ich ein vorhandenes Datensatzobjekt nicht erhalte, mache ich ein neues von stdClass.
Dies hat zwei Vorteile: Erstens bedeutet es, dass Sie über existierende Daten wissen, so dass Sie sie bei Bedarf verwenden können und sie nicht blind überschreiben. Zweitens: Wenn Sie an den Punkt gelangen, an dem Sie in die Datenbank schreiben, wissen Sie, ob es INSERT oder UPDATE ist, je nachdem, ob das Objekt eine ID-Eigenschaft hat.