csvファイルから既存のレコードのフィールドを更新する

うまくいけばタイトルは自己説明的です。連絡先データをアップロードしましたが、1つのフィールドを含めるのを忘れてしまいました。私は今、csvに保持されているデータを使って、すべてのレコードの関連フィールドを更新する必要があります。最初にデータをアップロードしたときに、各レコードにカスタム固有のキーフィールドをアップロードしました。

どんな助けもありがとう。

ジョン

ベストアンサー

CiviCRMの連絡先IDまたは各連絡先の連絡先の外部識別子のいずれかとして、CiviCRMデータベースに格納されている場合は、同じcsvを使用して連絡先を更新できます。

インポート時に、連絡先を重複させるために「更新」を選択してから、マッピングで外部IDまたは連絡先IDを使用するようにしてください。この2つのフィールドをインポート中に使用すると、firstname-lastnameやemailのような重複チェックを実行せずに連絡先がシステムに直接更新されます。これは、システムへの重複連絡を避ける独自の方法です。

enter image description here

連絡先のカスタムフィールドに各レコードのカスタム一意キーフィールドを格納している場合は、連絡先の外部識別子を更新するクエリを実行する必要があります。同じシート。

The sql would be something like:

UPDATE civicrm_contact cc
INNER JOIN civicrm_value_custom_table cv ON cv.entity_id = cc.id
SET cc.external_identifier = cv.custom_unique_id_field;

注:連絡先のインポートまたは実行を実行する前にデータベースをバックアップします
  任意の挿入/更新/削除SQL。

HTH

Pradeep

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です