首页  >  问答  >  正文

"在Node.js中使用mysql2插入数据"

<p>我有这个POST请求</p> <pre class="brush:php;toolbar:false;">app.post("/msg", (req, res) => { console.log(req.body) connection.query('INSERT INTO plans (topic, notes, resources) VALUES (?)', [req.body.topic, req.body.note, req.body.resource],(error, results) => { if (error) return res.json({ error: error }); }); });</pre> <p>但是我从中得到了这个错误</p> <pre class="brush:php;toolbar:false;">"error": { "code": "ER_WRONG_VALUE_COUNT_ON_ROW", "errno": 1136, "sqlState": "21S01", "sqlMessage": "列计数与行 1 的值计数不匹配" }</pre> <p>这是表格</p> <pre class="brush:php;toolbar:false;">CREATE TABLE plans( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, topic VARCHAR(64) NOT NULL, notes VARCHAR(200) NOT NULL, resources VARCHAR(200) NOT NULL );</pre> <p>请问请求有什么问题?</p>
P粉465287592P粉465287592422 天前384

全部回复(1)我来回复

  • P粉161939752

    P粉1619397522023-08-25 16:17:51

    您必须根据您提供的列值数量提供问号。

    app.post("/msg", (req, res) => {
      console.log(req.body)
      connection.query('INSERT INTO plans (topic, notes, resources) VALUES 
      (?,?,?)', [req.body.topic, req.body.note, req.body.resource],(error, 
      results) => {
         if (error) return res.json({ error: error });
    
         });
     });

    这应该可以工作

    回复
    0
  • 取消回复