MySQL 语法错误 SQL 错误 [1064] [42000]:您的 SQL 语法有错误

克里斯·布拉瑟顿

所以我有以下代码:

public function scopePopular($query, $limit = 10)
    {
        $query->leftJoin(DB::raw('(SELECT COUNT(id) visits, UNIQUE(ip_address) FROM `visitors`) visitors'), function($join)
        {
            $join->on('visitors.visitorable_id', '=', 'db885a18-f0b7-4f55-9d93-743fbb5d9c94');
            $join->where('visitors.visitorable_type', '=', 'App\Profile');
        });

        return $query;
    }

产生以下查询:

select * from `profiles` inner join `profile_genres` on `profiles`.`id` = `profile_genres`.`profile_id` left join (SELECT COUNT(id) visits, UNIQUE(ip_address) FROM `visitors`) visitors on `visitors`.`visitorable_id` = `db885a18-f0b7-4f55-9d93-743fbb5d9c94` and `visitors`.`visitorable_type` = ? where `profile_genres`.`genre_id` = ? and `profiles`.`deleted_at` is null

此查询似乎不起作用,我猜是由于语法错误,而 MYSQL 在其错误消息中并不完全具体。

SQL 错误 [1064] [42000]:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在 'UNIQUE(ip_address) FROM visitors)on附近使用的正确语法visitorsvisitorable_id= 'db885a18-f0' 在第 1 行

卢卡斯·索兹达

据我所知,没有像UNIQUE(ip_address)forSELECT子句这样的结构你可能想要:

SELECT COUNT(id) visits, ip_address
FROM `visitors`
GROUP BY ip_address

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

mysql错误1064(42000):您的SQL语法错误;

插入出错 1064 (42000): 您的 SQL 语法有错误;

MySQL错误1064:您的SQL语法有错误

错误:“SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误。”。.env 或 PDO 中的问题?

显示#1064的mysql查询-您的SQL语法有错误;

1064“您的SQL语法有错误; ...” Python MySQL

MySQL说:文档(#1064)-您的SQL语法有错误;

Laravel:SQLSTATE[42000]:语法错误或访问冲突:1064 你的 SQL 语法有错误;

在更改表语法错误或访问冲突时:1064 您的 sql 语法有错误;

SQL 错误 :1064 您的 SQL 语法有错误

错误1064(42000):您的SQL语法有错误;想要将密码配置为root用户

MySQL#1064-您的SQL语法错误

语法错误或访问冲突:1064 您的 SQL 语法有错误;对应于正确语法的 MySQL 服务器版本

致命错误:未捕获的PDOException:SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误

ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册是否有正确的语法?

ProgrammingError:1064(42000):您的SQL语法有错误;无法使用外键创建表

MYSQL:您的 SQL 语法有错误

MySQL数据库错误返回#1064-您的SQL语法有错误;

SQLSTATE[42000]:语法错误或访问冲突:1064 你的 SQL 语法有错误;检查与您的 MariaDB 相对应的手册

为什么会出现“ SQLSTATE [42000]:语法错误或访问冲突:1064您的SQL语法有错误...”?(PDO-PHP)

ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法

Laravel 8 迁移显示“SQLSTATE[42000]:语法错误或访问冲突:1064 你的 SQL 语法有错误”

#1064-您的SQL语法有错误... FROM附近

#1064-您的SQL语法有错误

mysql ERROR 1064 (42000): 你的 SQL 语法有错误;检查手册

第4822行的错误1064(42000):SQL语法错误;

MySQL ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册

#1064 SQL语法错误

Mysql 错误 (#1064) 您的 SQL 语法有错误,无法在第 20 行的 '' 附近使用正确的语法