CiviCRM의 이전 데이터 가져 오기가 더 유용한 (external_id
) 필드 대신 사용자 정의 필드 (member_number
)에 일부 멤버 번호를 배치했습니다.INNER JOIN이있는 표 사이에 INSERT INTO
내 (틀림없이 제한) SQL 기술은 너무 녹슨하지만 난 할 노력하고있어입니다 : external_id
필드가 비어
- 경우,
- 과
contact_type
는 "개인"입니다
- 일치하는 내부 ID 번호에 대해
member_number
에서external_id
까지 데이터를 복사하십시오.
나는 다른 오류,이 몇 가지 변화를 시도했다 :
INSERT INTO test_table (external_id)
SELECT member_number
FROM member_info
INNER JOIN test_table
ON memberinfo.entity_id=test_table.id
WHERE test_table.external_id IS NULL AND test_table.contact_type = "Individual"
은 난 정말 INNER이에 가입해야하나요? 그리고 WHERE 문은 대개 삽입하려는 테이블이 아니라 가져 오는 테이블을 참조하지만이 작업을 수행하는 올바른 방법은 기억이 안납니다.
test_table의 테이블 구조는 무엇입니까? 그리고 당신이 얻고있는 오류는 무엇입니까? – ysrb
죄송합니다. test_table은 civicrm_contacts 테이블의 복제본으로 대부분 varchar 인 필드가 많이 있습니다. 오류는 다음과 같습니다 : # 1062 - 키 'UI_external_identifier'에 대한 중복 항목 '0' – briank
Nevermind .... 나는 마침내 "중복 항목"을 참조했는데 NULL이 2의 "0"값으로 나타났습니다. . 왜 다른 오류가 발생했는지 모르겠지만 결국에는 작동하지 않습니다. 감사합니다 ... – briank