2016-10-19 1 views
0

DKAN에 필드 권한 Drupal 모듈을 설치 한 후 DKAN에서 내 카탈로그 데이터 세트를 보려고하면 오류가 표시됩니다. 개별 하이퍼 링크로 이동하여 개별 데이터 세트를 보는 것이 좋습니다. 이 SQLSTATE [HY000] : 일반 오류 : ORDER BY 절의 3065 표현식 # 1 SELECT 목록에없는, SELECT 목록에없는 'dkan_opendatatest.t.changed'참조 열이 :이 DISTINCT와 호환되지 않는 오류 필드 권한 모듈을 설치 한 후 Dkan Drupal 오류

이 문제를 해결하는 방법에 대한 아이디어가 있으십니까?

답변

0

검색 페이지를 유도하는보기 일 가능성이 높습니다. 드롭 다운은 필드를 선택 목록으로 예상하지만 필드의 변경으로 인해 해당 뷰는 MySQL에서 지원하지 않는 SQL 쿼리를 생성합니다.

"/ admin/structure/views/view/dkan_datasets/edit/panel_pane_1"에서보기를 편집하고 "정렬 기준"에서 "색인 된 노드 : 변경된 날짜"를 변경하여이 문제를 해결할 수 있습니다. 올바른 "정렬 기준"설정이 변경 사항과 관련이 있는지 확실하지 않지만 "정렬 기준"을 변경하여 거기에서 확인할 수 있습니다. 어쩌면 "변경된"필드를 제거하고 다시 추가하십시오.

0

Drupal에서 admin/content 및 admin/people 페이지를 방문하는 중 비슷한 오류가 발생했습니다. 사람 [user_admin_people]의 예외 : SQLSTATE [HY000] : 일반 오류 : 3065 ORDER BY 절의 표현식 1이 SELECT에 없습니다. 목록, 참조 목록에없는 'mycmsschema.users_field_data.created'열을 참조하십시오. 이것은 DISTINCT와 호환되지 않습니다

출력 된 쿼리는 Mysql Workbench에서 제대로 작동하지만 Drupal8에서는 해당 페이지를 방문 할 때 실행되지 않습니다.

MySQL 5.7은 Drupal8 쿼리 (및 아마도 7 개의 쿼리도 있지만 didnt 검사)를 좋아하지 않는 것 같습니다. MySQL 5.6으로 다운 그레이드 할 필요가 있습니다 (MySQL 5.7의 기본값 인 ONLY_FULL_GROUP_BY와 같은 매우 엄격한 sql_mode 설정이 기본값이 아닙니다). 코어/lib/Drupal/Core/Database/Driver/mysql/Connection.php 으로 변경하십시오. :

/* 
     'sql_mode' => "SET sql_mode = 'ANSI,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,ONLY_FULL_GROUP_BY'", 
     */ 

에 : 나를 위해 일한

'sql_mode' => "SET sql_mode = 'ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER'", 

. 참고 : ONLY_FULL_GROUP_BY을 (를) 제거하는 것은 수정해야한다고 생각하지만 휴식의 일부를 제거해야 할 것처럼 보입니다.