解决数据库报错Error 1390: Prepared statement contains too many placeholders的问题

今天在开发项目时,试着一次性插入大量数据,结果出现了以下报错:

解决数据库报错Error 1390: Prepared statement contains too many placeholders的问题

依稀记得以前也遇到过类似的问题,于是打算记录下错误原因及解决过程:

首先,这是由于sql语句中占位符数量限制导致的

Mysql默认支持的占位符最多为65535(2^16-1)个,即: 写入数据为m列,n行。m*n必须小于65535

比如你要插入的字段有10列,一次性要插入10000条数据,则10*10000 = 100000,明显超过了65535,就会报错

解决方法:

我们只需要对数据进行切割插入即可,使用 array_chunk方法

例如我刚开始是直接将$res一次性插入导致报错:

然后我现在使用array_chunk方法进行切割循环插入,一次最多插入10000条

(因为我只需要插入4个字段,故采用10000条插入,若字段较多则一次性插入的数据需酌情减少)

修改完成后变为:

$chunkRes = array_chunk($res,10000);

至此,该问题已得到解决

Original: https://www.cnblogs.com/luluBear/p/16534683.html
Author: 杏寿郎
Title: 解决数据库报错Error 1390: Prepared statement contains too many placeholders的问题

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/612721/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 什么是真正的HTAP?(二)挑战篇

    上一篇文章中,我们从技术和商业角度分析了 HTAP 系统缘起的背景,本篇文章中,我们将从 HTAP 定义及其相关核心技术等方面来讨论:构建一个 HTAP 所面临的核心问题和挑战有哪…

    数据库 2023年5月24日
    064
  • JSP中的EL 表达式

    JSP中的EL 表达式 什么是 EL 表达式,EL 表达式的作用? EL 表达式搜索域数据的顺序 EL 表达式输出 Bean 的普通属性,数组属性,List 集合属性,map 集合…

    数据库 2023年6月11日
    081
  • Java面试题(七)–Spring Boot

    1、Spring Boot提供了哪些核心功能?(高频) 1、jar包方式运行 通过引入spring-boot-maven-plugin插件可以将springboot项目打包成一个可…

    数据库 2023年6月16日
    095
  • Selenium 4 有哪些不一样?

    转载请注明出处❤️ 作者:测试蔡坨坨 原文链接:caituotuo.top/d59b986c.html 你好,我是测试蔡坨坨。 众所周知,Selenium在2021年10月13号发…

    数据库 2023年6月11日
    089
  • 【数据库】– 15个小技巧,拿捏SQL优化 【转载】

    前言 sql优化是一个大家都比较关注的热门话题,无论你在面试,还是工作中,都很有可能会遇到。 如果某天你负责的某个线上接口,出现了性能问题,需要做优化。那么你首先想到的很有可能是优…

    数据库 2023年6月6日
    0114
  • MySQL启动过程详解一:启动整体流程

    MySQL启动流程如下: 设置进程名 处理配置文件及启动参数以及部分模块初始化,这包括: 2.1 从配置文件中读取选项,把他们放在 argc 和 argv 已有的参数之前 2.2 …

    数据库 2023年6月9日
    069
  • Vue 和 Django 实现 Token 身份验证

    使用 Django 编写的 B/S 应用通常会使用 Cookie + Session 的方式来做身份验证,用户登录信息存储在后台数据库中,前端 Cookie 也会存储少量用于身份核…

    数据库 2023年6月14日
    082
  • SQLZOO练习四–SUM and COUNT(聚合函数)

    4、count the big countries 计算有多少个国家,面积大于1000000 How many countries have an area of at least…

    数据库 2023年6月16日
    084
  • 浅谈一下“敏捷开发”

    为什么需要敏捷开发 在以前,软件项目的开发都是以年来计算的,这代表什么意思呢 ?需求设计了半年多,方案设计做了半年多,开发了三年多,测试了半年多,修改Bug用了半年多。总计花了很长…

    数据库 2023年6月14日
    097
  • 十一章 配置文件参数化

    把Spring配置文件中需要经常修改的字符串信息,转移到一个更小的配置文件中 1. 小配置文件(.properties) 2. 好处 : 利于维护 1.配置文件参数化开发步骤 已数…

    数据库 2023年6月14日
    083
  • mysql拆分字符串做条件查询

    mysql拆分字符串作为查询条件 有个群友问一个问题 这表的ancestors列存放的是所有的祖先节点,以 ,分隔 例如我查询dept_id为103的所有祖先节点,现在我只有一个d…

    数据库 2023年6月16日
    069
  • 渗透攻防Web篇-深入浅出SQL注入

    1 背景 京东SRC(Security Response Center)收录大量外部白帽子提交的sql注入漏洞,漏洞发生的原因多为sql语句拼接和Mybatis使用不当导致。 2 …

    数据库 2023年5月24日
    0109
  • 重新学习数据库(1)

    单元概述 通过本章的学习能够了解MySQL结构查询语言的概念,掌握SELECT查询语句的基本语法,掌握SELECT查询语句中过滤条件的使用,掌握过滤条件中比较运算符和逻辑运算符的使…

    数据库 2023年5月24日
    074
  • 多商户商城系统功能拆解22讲-平台端分销商品

    多商户商城系统,也称为B2B2C(BBC)平台电商模式多商家商城系统。可以快速帮助企业搭建类似拼多多/京东/天猫/淘宝的综合商城。 多商户商城系统支持商家入驻加盟,同时满足平台自营…

    数据库 2023年6月14日
    0107
  • 数据库原理四—MySQL日志

    重做日志redo log redo log是重做日志,为InnoDB存储引擎独有。它记录了数据页上的改动。当事务中修改了数据,将会备份存储。当发生数据库服务器宕机或者脏页未写入磁盘…

    数据库 2023年5月24日
    0116
  • Java百度地图经纬度纠偏

    在国内使用电子地图获取到的经纬度都不是真实的经纬度,而是经过一定的算法在真实的经纬度上添加了一个偏移量,且不同的地图有不同的算法。现在告诉大家在java中怎样对百度地图进行纠偏,主…

    数据库 2023年6月9日
    091
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球