如何在 MySQL 中每列插入数据数组?
Posted
技术标签:
【中文标题】如何在 MySQL 中每列插入数据数组?【英文标题】:how to insert array of data per column in MySQL? 【发布时间】:2022-01-20 21:45:13 【问题描述】:我将数组堆叠在 1 个数组中,我想在 mysql 中的每列插入每个数组。 我已经将数组中的所有数据插入到 1 列,但我想每列插入一个数组。 请看下面的截图和代码。
Image of array stack
con.connect(async(err)=>
const x = await getStock()
if(err)
console.log(err);
return err;
else
console.log("DB ok");
console.log("connected");
x.filter(item=>item===undefined?false:true).map(item=>item.forEach(item=>
const sql ="INSERT INTO test (testCol1) VALUES ?";
const values=[
[item]
];
con.query(sql,[values],(err,result)=>
if(err)throw err;
console.log("this have been recorded"+result);
);
));
);
【问题讨论】:
您事先知道需要多少列吗?或者数组的数量可以改变吗? 数组数量是静态的,有6个数组@JacoT 【参考方案1】:我刚刚为这种情况找到了解决方案。 这可能有点令人困惑,但它正在工作。 也许存在更简单易懂的解决方案,但这是我目前的解决方案。
在上面的代码中,我只使用了 1 个数组迭代器,它返回了一个数组。我决定迭代返回的数组以获取每个整数并将数据插入 MySQL,(test$i+1)
也将数组设置为必要的列。
x.filter(item=>item===undefined?false:true).forEach((item,i)=>
item.forEach(item=>
const sql =`INSERT INTO test (test$i+1) VALUES ?`;
const values=[
[item]
];
con.query(sql,[values],(err,result)=>
if(err)throw err;
console.log("this have been recorded"+result);
);
)
);
【讨论】:
以上是关于如何在 MySQL 中每列插入数据数组?的主要内容,如果未能解决你的问题,请参考以下文章
我试图在循环中每 10 毫秒向数据库插入一次数据。那么我如何在每次插入之间等待[重复]
如何列出各个列,其中每个列包含一个 id 计数,其中每列中的 id 不在 MySQL 中每列的不同表中