SQLSTATE [42000]:语法错误或访问冲突:1055

问题描述 投票:3回答:2

我正在使用Laravel 5.5我添加了这个依赖项来制作简单的搜索引擎

https://github.com/nicolaslopezj/searchable

但当我尝试搜索任何东西时遇到问题

SQLSTATE[42000]: Syntax error or access violation: 1055 'myreview.movies.name' isn't in GROUP BY (SQL: select count() as aggregate from (select movies., max((case when LOWER(movies.name) LIKE car then 150 else 0 end) + (case when LOWER(movies.name) LIKE car% then 50 else 0 end) + (case when LOWER(movies.name) LIKE %car% then 10 else 0 end) + (case when LOWER(movies.description) LIKE car then 150 else 0 end) + (case when LOWER(movies.description) LIKE car% then 50 else 0 end)

我已经尝试过更改mysql数据库我使用mariadb 10.2后更改为mysql 5.7其工作正常

但我在我的cpanel服务器上有mariadb

帮我看这个谢谢你

php mysql laravel laravel-5.5
2个回答
4
投票
  1. 打开config / database.php
  2. 将值严格从true更改为false 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'strict' => false, 'engine' => null, ],
  3. 保存

你可以在我的帖子中读完=> How to Fix SQLSTATE[42000]: Syntax error or access violation: 1055


0
投票

查询失败的SQL原因是,只有出现在GROUP BY子句中的列才能在使用聚合函数的SQL语句的SELECT子句中使用。这个SO post接受的答案充分解释了这一点。

© www.soinside.com 2019 - 2024. All rights reserved.