繁体   English   中英

尽管列数正确,但行上的值计数错误

[英]wrong value count on row despite having correct number of columns

我正在尝试将一组值插入我的数据库并收到错误ER_WRONG_VALUE_COUNT_ON_ROW

这是我的架构:

CREATE TABLE reviews (
  id INTEGER AUTO_INCREMENT,
  shoe_id INTEGER,
  review_star INTEGER,
  review_body CHAR (255) NULL DEFAULT NULL,
  review_username CHAR (255) NULL DEFAULT NULL,
  review_date CHAR (255) NULL DEFAULT NULL,
  review_location CHAR (255) NULL DEFAULT NULL,
  upStar INTEGER,
  downStar INTEGER,
  review_title CHAR (255) NULL DEFAULT NULL,
  PRIMARY KEY (id)
);

这是我的查询:

var values = [[1, 1], [2, 2], ['b', 'b'], ['n', 'n'], ['d', 'd'], ['l', 'l'], [3, 3], [4, 4], ['t', 't']]

const testSeed = function() {
  connection.query(`insert into reviews (shoe_id, review_star, review_body, review_username, review_date, review_location, upStar, downStar, review_title) values ?`, [values], function(err) {
    if (err) {
      console.log(err);
    } else {
      console.log('yay it worked')
    }
  })
}

我可以一次提交一个数据,但如果我尝试一次提交多个值,它就行不通了。 我得到的错误没有任何意义,因为我拥有正确数量的列数。

您错误地表达了您的VALUES元组。 您当前正在传递 9 行,每行有两个列值。 但是,你想要相反的,即 2 行 9 列的值:

var values = [
                 [1, 2, 'b', 'n', 'd', 'l', 3, 4, 't'],
                 [1, 2, 'b', 'n', 'd', 'l', 3, 4, 't']
             ]

以上内容至少与您的插入语句一致,该语句指定 9 列,而不是 2 列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM