2014-11-03 3 views
0

컨텐츠 유형에 대한 1062 중복 된 항목 : -의 VideoDisplay무결성 제약 조건 위반 : 비디오 삽입 필드

필드 : (: 문자열 형), 비디오 (유형 : 비디오 삽입 필드), 아티스트 (유형 : 비디오의 - 이름 노드 참조 필드)

사용자가 이미 VideoDisplay 유형의 레코드를 만들었습니다. 이제 요구 사항에 따라 아티스트를 추가 할 수 있습니다. 기존 비디오에 아티스트를 추가 할 수 있습니다.

그래서 나는이 방법을 가지고 : -

$node_vids = node_load($videoId); 
$node_vids->field_artist[LANGUAGE_NONE] = array(
       0 => array('nid' => $form_state['values']['nid'])); 
$node = node_submit($node_vids); 
node_save($node); 

을하지만 내가 말하는 오류 제공 :

SQLSTATE [23000] : 무결성 제약 조건 위반 : 1062 중복 항목 '노드 143-0-0- und '키에 대해'PRIMARY '

이 오류는 비디오 (유형 : 비디오 포함 필드)에 데이터를 삽입하는 동안 발생합니다. 하지만 여기서 아티스트 (유형 : 노드 참조 필드) 필드 만 저장하려고합니다. node_save가 실제로 Content Type의 모든 속성을 저장한다는 것을 알게됩니다.

그물을 검색 한 후 field_attach_update()을 사용해 보았지만 다시 동일한 예외가 발생합니다. 이 문제를 해결할 수있는 해결책을 알려주십시오.

답변

0

drupal에 의해 노출 된 field_sql_storage_field_storage_write() 함수는 원하는 단일 필드 onl을 업데이트하는 데 도움이됩니다. 이것을 호출해도 후크는 호출되지 않습니다.

관련 문제