Mysql 行上的值计算错误:但我可以';你看不出有什么问题吗?
我试图通过Express将数据插入MySQL,数据库表如下所示:Mysql 行上的值计算错误:但我可以';你看不出有什么问题吗?,mysql,database,Mysql,Database,我试图通过Express将数据插入MySQL,数据库表如下所示: create table foods (name VARCHAR(100), typval DECIMAL(8, 2), unit VARCHAR(50), calories DECIMAL(5, 2), carbs DECIMAL(5, 2), fat DECIMAL(5,2), protein DECIMAL(5, 2), salt DECIMAL(5, 2), sugar DECIMAL(5, 2)); 我有一个收集用户数
create table foods (name VARCHAR(100), typval DECIMAL(8, 2), unit VARCHAR(50), calories DECIMAL(5, 2), carbs DECIMAL(5, 2), fat DECIMAL(5,2), protein DECIMAL(5, 2), salt DECIMAL(5, 2), sugar DECIMAL(5, 2));
我有一个收集用户数据的表单,要发布的函数如下所示:
app.post("/addnewfood", function (req,res) {
console.log(req.body.name, req.body.typval, req.body.unit, req.body.calories, req.body.carbs, req.body.fat, req.body.protein, req.body.salt, req.body.sugar);
// saving data in database
let sqlquery = "INSERT INTO foods (name, typval, unit, calories, carbs, fat, protein, salt, sugar) VALUES (?,?)";
// execute sql query
let newrecord = [req.body.name, req.body.typval, req.body.unit, req.body.calories, req.body.carbs, req.body.fat, req.body.protein, req.body.salt, req.body.sugar];
db.query(sqlquery, newrecord, (err, result) => {
if (err) {
return console.error(err.message);
}else
res.send("New" + " " + req.body.name + " was added to the database.");
});
});
我不确定我错在哪里,因为我计算了9个不同的字段,我需要为9个不同的列填写。我检查了逗号,看不出有什么不对劲
当我尝试输入数据时,比如:“麦当劳汉堡,1.0,汉堡,100.00,10.00,10.00,10.00,1.0,10.00”
console.log可以很好地打印出来,它应该可以工作,但是,我得到:
ER\u错误\u行上的值\u计数\u:列计数与第1行的值计数不匹配
帮助?您的
INSERT
查询需要为您插入的每一列指定一个占位符。这里只有两个占位符——两个?
项
你需要九个,每列一个
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
askaldlsjd我怎么会错过,太好了,谢谢你!
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)