首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装字段权限模块后出现Dkan Drupal错误

安装字段权限模块后出现Dkan Drupal错误
EN

Stack Overflow用户
提问于 2016-10-19 22:27:45
回答 2查看 117关注 0票数 0

在DKAN中安装Fields Permissions Drupal模块后,每当我尝试在DKAN中查看我的数据集目录时,都会显示一个错误。我可以通过导航到各自的超链接来查看各个数据集。

错误: SQLSTATEHY000:常规错误: 3065 ORDER BY子句的表达式#1不在选择列表中,引用的列'dkan_opendatatest.t.changed‘不在选择列表中:这与DISTINCT不兼容

对如何解决这个问题有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2016-10-20 21:45:40

这很可能是驱动搜索页面的视图。下拉列表期望该字段是一个选择列表,但是字段中的更改使该视图生成MySQL不支持的SQL查询。

您可以通过编辑"/admin/structure/views/view/dkan_datasets/edit/panel_pane_1“上的视图并更改”排序条件“中的”索引节点:更改日期“来修复此问题。现在还不能确定正确的“排序标准”设置会是什么,但你可以通过更改“排序标准”来解决这个问题。也许可以删除并重新添加"changed“字段。

票数 0
EN

Stack Overflow用户

发布于 2016-12-28 03:47:47

我在访问管理/内容和管理/人员页面时也遇到了类似的错误:Peopleuser_admin_people中出现异常: SQLSTATEHY000: General error: 3065 ORDER BY子句的表达式#1不在选择列表中,引用了不在选择列表中的列'mycmsschema.users_field_data.created‘;这与DISTINCT不兼容

它输出的查询在Mysql Workbench中工作得很好,但在访问这些页面时不能在Drupal8中运行。

MySQL5.7似乎不喜欢Drupal8查询(可能还有7个查询,但没有检查)。需要降级到MySQL5.6(所以不会默认使用像ONLY_FULL_GROUP_BY这样的超级严格的sql_mode设置,这是MySQL5.7中的默认设置),或者进入core/lib/Drupal/Core/Database/Driver/mysql/Connection.php并更改:

代码语言:javascript
复制
 /*
      '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'",
      */

至:

代码语言:javascript
复制
'sql_mode' => "SET sql_mode = 'ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER'",

这对我很有效。注意:我认为删除ONLY_FULL_GROUP_BY应该已经修复了,但似乎我也需要删除一些rest。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40134273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档