Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 从post方法插入多个数组_Mysql_Node.js_Express - Fatal编程技术网

Mysql 从post方法插入多个数组

Mysql 从post方法插入多个数组,mysql,node.js,express,Mysql,Node.js,Express,我试图从postman获取post数据,它是多个数据数组,但似乎无法将它们放入数据库,如果我在post上对数组进行硬编码,它将进入数据库,但不是动态的 index.js /* POST home page. */ router.post('/', function (req, res) { const sql = require('../models/db.js'); let data = req.param('data'); console.log(data);

我试图从postman获取post数据,它是多个数据数组,但似乎无法将它们放入数据库,如果我在post上对数组进行硬编码,它将进入数据库,但不是动态的

index.js

/* POST home page. */
router.post('/', function (req, res) {
    const sql = require('../models/db.js');

    let data = req.param('data');
    console.log(data);

    const sqlstatement = "INSERT INTO Sales (user_id, type, amount) VALUES (?)";

    sql.query(sqlstatement, [data], function (err, res) {

        if(err) {
            console.log("error: ", err);
        }
        else{
            console.log(res.insertId);
        }
    });

    res.send(data);

});
db.js

邮递员数据

[{"key":"data","value":"[[111, 'net', 1234],[111, 'gross', 1234]]\n","description":"","type":"text","enabled":true}]
控制台错误


code: 'ER_BAD_FIELD_ERROR',
  errno: 1054,
  sqlMessage:
   "Unknown column '[[111, 'net', 1234],[111, 'gross', 1234]]' in 'field list'",
  sqlState: '42S22',
  index: 0,
  sql:
   "INSERT INTO Sales (user_id, type, amount) VALUES (`[[111, 'net', 1234],[111, 'gross', 1234]]`)" }

您必须为每一列打上问号。

准备适当的SQL语句

INSERT INTO Sales (user_id, type, amount) VALUES (111, 'net', 1234),(111, 'gross', 1234);

您是否尝试在DB上手动运行生成的查询?我认为这可能会解决您的问题
const sqlstatement = "INSERT INTO Sales (user_id, type, amount) VALUES (?,?,?)"
INSERT INTO Sales (user_id, type, amount) VALUES (111, 'net', 1234),(111, 'gross', 1234);