Node.js 使用Postgres.js在Postgresql中插入多行时出错
我试图使用Postgres.js()在Postgresql数据库中同时插入多行。按照中提到的代码示例执行此操作时,我得到以下错误Node.js 使用Postgres.js在Postgresql中插入多行时出错,node.js,postgresql,Node.js,Postgresql,我试图使用Postgres.js()在Postgresql数据库中同时插入多行。按照中提到的代码示例执行此操作时,我得到以下错误超出了最大参数数(65534)。我必须插入35k行,但我甚至在执行大量操作(例如5k行,但因此是7卷)时会出现错误。第一次插入有效,但第二次插入也会导致相同的错误。有人使用这个库成功地一次插入了几千行吗 这就是我如何尝试将I作为范围从0到6(包括)的控制变量,一次在for循环中插入多行的方法: wait this.sql`insert into crm.consumpi
超出了最大参数数(65534)
。我必须插入35k行,但我甚至在执行大量操作(例如5k行,但因此是7卷)时会出现错误。第一次插入有效,但第二次插入也会导致相同的错误。有人使用这个库成功地一次插入了几千行吗
这就是我如何尝试将I
作为范围从0到6(包括)的控制变量,一次在for循环中插入多行的方法:
wait this.sql`insert into crm.consumpion\u data${this.sql(entriesToInsert.splice(i*5000,(i+1)*5000),'direction\u id','start\u time','end\u time','customer\u id','pod','type\u id','version\u time','quality','quantity','unit granularity','updated\u by','file\u import\u id')代码>
这就是我如何将对象添加到数组entriesToInsert
,该数组包含所有35k行。对象键的名称与列名相同
entriesToInsert.push({direction\u id:directionId,start\u time:entry.startTime.toISOString(),end\u time:entry.endTime.toISOString()),customer\u id:customerId,pod:consumptionInfo.consumptionMetaData.meteringPoint,type\u id:typeId,version\u time:consumptionInfo.consumptionMetaData.versionTime,quality:entry.quality,quantity:entry.quantity.quantity,unit:entry.unit,granularity:granularityId,更新者:process.env.user,文件\u导入id:fileId})代码>
为了让它运行,我必须改变什么
非常感谢,彼得13*5000等于65000,接近65534。尽量减少到3000-4000谢谢你的帮助!但问题只是由于对值数组应用了错误的函数造成的。我错误地使用了splice
而不是slice
。我真是个傻瓜。