我必须更新表中的多行(最多大约 32 行)。目前我的代码可以删除指定的行但无法插入。我错过了什么吗?我的代码如下所示:
connection.query("DELETE FROM items WHERE record_id = ?", id, function (err, result) {
if(err)
{ console.log("ERROR UPDATE" + err); }
else
{
console.log("entered UPDATE");
// Loop through Hour Difference
for (var i = 1; i <= hours; i++) {
// Avoiding Add in the first iteration
if (i != 1) {
start_date_time.add(1, "hours");
}
// Convert Date Format to MYSQL DateTime Format
var myDate3 = moment(start_date_time.format('YYYY-MM-DD HH:mm:ss')).format("YYYY-MM-DD HH:mm:ss");
console.log('Index update [' + i + ']: ' + myDate3);
var data = {
name: req.body.site_name,
remarks: req.body.remarks,
date_part: myDate3,
record_id: id
}
connection.query("INSERT INTO items SET ?", [data], function (err, result) {
if (err) {
console.log(err);
} else {
console.log('Index [' + i + ']: INSERTED to update');
}
});
}
}
});
最佳答案
您的插入查询不正确。插入查询的正确语法是,
INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)
VALUES (value1, value2, value3,...valueN);
<小时/>
如果您使用SET
,它应该是更新查询。更新查询的正确语法是,
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
关于mysql - 删除和插入行mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51395478/