如何在 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 毫秒向数据库插入一次数据。那么我如何在每次插入之间等待[重复]

如何在node.js中将json数组数据插入mysql?

如何将json数组插入mysql数据库

如何列出各个列,其中每个列包含一个 id 计数,其中每列中的 id 不在 MySQL 中每列的不同表中

php中一个二维数组,怎么吧数组中的数据作为value插入到数据库某个表中

如何在 wamp 服务器的 phpmyadmin 中将此数据数组插入 mysql