gpt4 book ai didi

mysql - 1390 准备好的语句包含太多使用 Laravel 5.6 的占位符

转载 作者:行者123 更新时间:2023-11-29 07:28:15 25 4
gpt4 key购买 nike

出现跟随错误

SQLSTATE[HY000]: 一般错误:1390 准备语句包含太多占位符

我的查询最近因为表中的数据变成了

SELECT
*
FROM
table
WHERE col1 = 'some-val'
AND col2 NOT IN ('va1', 'val2', 80k values... )

我正在使用 Laravel 5.6

$data_will_be_skipped = OtherModel::select('code')
->where('col1', 0)
->orWhere('col2', 1)
->groupBy('col3')
->pluck('col3')->toArray();

$data_will_be_skipped 现在大约是 80k 数组

Model::where('col1', 'some-val')->whereNotIn('col2', $data_will_be_skipped)->get();

最佳答案

MySQL 在准备好的语句中有 65,535 个参数的限制。

改用子查询:

$data_will_be_skipped = OtherModel::select('col3')
->where('col1', 0)
->orWhere('col2', 1);
Model::where('col1', 'some-val')
->whereNotIn('col2', $data_will_be_skipped)
->get();

关于mysql - 1390 准备好的语句包含太多使用 Laravel 5.6 的占位符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52801606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com