首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用objection.js将数组数据批量插入mysql数据库

利用objection.js将数组数据批量插入mysql数据库
EN

Stack Overflow用户
提问于 2016-06-13 10:00:44
回答 5查看 8.2K关注 0票数 5

我有一个数组

代码语言:javascript
复制
newData = [{ sId: 'XXXXXX', itemlName: 'LSストレッ', iCode: 'XXXXXX', iType: '', skus: 'XXXXXXX', iLevel: 'L2', cCode: '88', cName: 'Other', sCode: '999', sName: 'No Control', pLengthCode: '988', core: 'N', sCode: '1', dCode: 'XX', gDeptCode: 'XX', gDeptName: 'Women\\\'s Items', rCode: 'jqs' },{ sId: 'XXXXXX', itemlName: 'LSストレッ', iCode: 'XXXXXX', iType: '', skus: 'XXXXXXX', iLevel: 'L2', cCode: '88', cName: 'Other', sCode: '999', sName: 'No Control', pLengthCode: '988', core: 'N', sCode: '1', dCode: 'XX', gDeptCode: 'XX', gDeptName: 'Women\\\'s Items', rCode: 'jqs' }]

我想使用newData将objection.js插入到mysql数据库中。但是,当我运行我的节点应用程序时,我看到一个错误:

错误:批处理插入仅适用于Postgresql

我的插入代码是-:

代码语言:javascript
复制
samplemodel.query().insert( newData );

如何使用objection.js在mysql数据库中执行数组数据的批量插入?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-06-13 10:06:36

错误:批处理插入仅适用于Postgresql

这意味着您需要Postgres而不是Mysql来使其工作。

Edit1:

从医生那里:

如果您正在使用Postgres,则插入将分批完成,以获得最大的性能。在其他数据库中,需要一次插入一个行。这是因为postgresql是唯一返回所有插入行的标识符的数据库引擎,而不仅仅是第一个或最后一个。

这意味着,如果您正在使用mysql,您应该这样做。

代码语言:javascript
复制
samplemodel.query().insert(data);

对于"newData“数组中的每个元素。

票数 8
EN

Stack Overflow用户

发布于 2016-07-18 19:26:36

你可以打电话给

samplemodel.query().insertWithRelated( newData );

它在需要时使用多个查询,并与所有数据库一起工作。

票数 7
EN

Stack Overflow用户

发布于 2021-07-15 09:58:32

在反对的最新版本中,insertWithRelated被否决了!

相反,您需要使用insertGraph

代码语言:javascript
复制
samplemodel.query().insertGraph(newData);

代码语言:javascript
复制
samplemodel.query().insertGraph(newData, { allowRefs: true });
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37786828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档