【发布时间】:2019-05-02 09:58:54
【问题描述】:
我有一个这样的简单查询:
$arp_terhadap_st_reg = Sfs::select('msisdn')->wherebetween('created', [$datefrom, $dateto])->where('cluster',$cluster)->pluck('msisdn');
$arp_outlet_reg = Arps::whereIn('msisdn',$arp_terhadap_st_reg)->count();
这里的$idList是一个数组,里面包含了用户id,我有60000多个id。
每次,代码都会告诉我:
"error":{"type":"Exception","message":"SQLSTATE[HY000]: General error: 1390 Prepared statement contains too many placeholders
SQL: select count(*) as aggregate from arps where msisdn in (?, ?, ?, ?,....................
很多? ...
那么,我该如何解决这个问题。谢谢。
【问题讨论】:
-
问题的准确副本:laravel.io/forum/… ???怎么样??
-
不适合我
-
这是你的真实代码?否则发布真实代码
-
似乎您陷入了 MySQL/MariaDB 占位符限制。大约是65k。尝试通过拆分 $idsList 来分隔您的查询
-
@YandraAdie 看到我的回答。