Php 在我的laravel项目中有一个额外的“)”,laravel为我查询
这是我的密码: DB::表'admins'->其中'a_id',函数$query { $query->select'a_id'->fromRaw'选择一个_id,行号 按\u用户名进行分区,按\u用户名作为来自管理员的行\u num排序 不 ->其中,原始“行数>1”; }->删除; }; 以下是laravel对我的查询:Php 在我的laravel项目中有一个额外的“)”,laravel为我查询,php,mysql,sql,database,laravel,Php,Mysql,Sql,Database,Laravel,这是我的密码: DB::表'admins'->其中'a_id',函数$query { $query->select'a_id'->fromRaw'选择一个_id,行号 按\u用户名进行分区,按\u用户名作为来自管理员的行\u num排序 不 ->其中,原始“行数>1”; }->删除; }; 以下是laravel对我的查询: delete from `admins` where `a_id` in (select `a_id` from ( select a_id, row_number() o
delete from `admins` where `a_id` in
(select `a_id` from ( select a_id, row_number() over(
partition by a_username order by a_username) as row_num from admins )
t where row_num > 1));
正如您所看到的,在查询的末尾有一个问题,如果我删除它,它将起作用,但我如何才能做到这一点
我从这个错误中得到:
Illuminate\Database\QueryException
SQLSTATE[42000]: Syntax error or access violation: 1140 Mixing of
GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is
illegal if there is no GROUP BY clause (SQL: delete from `admins`
where
`a_id` in (select `a_id` from ( select a_id, row_number() over(
partition by a_username order by a_username) as row_num from admins )
t where row_num > 1))
有了这个错误,我得到了一个额外的在查询的结尾,它不是我的代码,似乎拉威尔把它错了
谁知道我如何删除它,或者如果问题出现在代码中,我在代码中犯了什么错误
我的laravel版本是:7.9.2,我的PHP版本是7.4.5。尝试更改
strict => true to false in config/database.php in connections => mysql.
检查是否有帮助。尝试在connections=>mysql中的config/database.php中将strict=>true更改为false。检查是否有帮助。你能接受其他人从中获得帮助的答案吗?请参阅下面的我的答案,单击勾选图标✔ 并单击向上箭头。