尽管列数正确,但行上的值计数错误
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 列。
我正在尝试将一组值插入到我的数据库中,但出现错误 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 列。