gpt4 book ai didi

mysql - 循环数组进行批量插入时错误的增量 Nodejs 和 MySQL

转载 作者:行者123 更新时间:2023-11-29 19:30:04 28 4
gpt4 key购买 nike

这实在是太奇怪了。代码有 500 行检查,但总结起来就是这样

我正在使用 lodash,但这并不重要

var data = API.data
_.forEach(data, function (member, index, array) {
var todoArray = []
var todoNum = 0
_.forEach(member.todos, function (spell, index, array) {
.. bla bla bla
todoArray.push([
...stuff,
todoNum
])
todoNum++
})
i.connection.query('INSERT INTO `static_todos` (`key`, `name`, `description`..) VALUES ? ON DUPLICATE KEY UPDATE `name` = VALUES(`name`)...;', [todoArray], function (err, result, fields) {
// Throw stuff
})
})

但是当我访问数据库时,行以及 todoNum 都被打乱。我不知道发生了什么..

编辑;当我在显示 todoArray 的第二个 forEach 之后打印日志时,它显示了正确的数字和正确的顺序。

最佳答案

我在我的 application 中遇到了此类问题也是。

不要指望任何集合都会有任何顺序。如果您想要特定的顺序,请添加一个可以排序的整数值,以获得您需要的顺序。

所以我已经解决了使用额外列进行手动订购的问题,请检查 screenshot 就我而言,

关系中没有顺序(即人们通常错误地称为“表”的事物),因为关系是一个集合,而不是列表或数组。

关于mysql - 循环数组进行批量插入时错误的增量 Nodejs 和 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41846666/

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