Joh*_*noy 4 mysql node.js knex.js objection.js
我有一个数组
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' }]
Run Code Online (Sandbox Code Playgroud)
我想newData使用objection.js插入到mysql 数据库中。但是当我运行我的节点应用程序时,我收到错误消息:
错误:批量插入仅适用于 Postgresql
我的插入代码是 -:
samplemodel.query().insert( newData );
Run Code Online (Sandbox Code Playgroud)
如何使用objection.js在mysql数据库中批量插入数组数据?
错误:批量插入仅适用于 Postgresql
好吧,这意味着您需要 Postgres 而不是 Mysql 才能使其工作。
编辑1:
从文档:
如果您使用 Postgres,则插入是分批完成的,以获得最佳性能。在其他数据库上,需要一次插入一行。这是因为 postgresql 是唯一一个返回所有插入行标识符的数据库引擎,而不仅仅是第一个或最后一个。
这意味着如果你使用 mysql 你应该这样做
samplemodel.query().insert(data);
Run Code Online (Sandbox Code Playgroud)
对于“newData”数组中的每个元素。
| 归档时间: |
|
| 查看次数: |
5356 次 |
| 最近记录: |