Node.js MySQL 更新数据


更新表

您可以使用 "UPDATE" 语句更新表中的现有记录:

示例

将地址列从 "Valley 345" 覆盖为 "Canyon 123":

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "yourusername",
  password: "yourpassword",
  database: "mydb"
});

con.connect(function(err) {
  if (err) throw err;
  var sql = "UPDATE customers SET address = 'Canyon 123' WHERE address = 'Valley 345'";
  con.query( sql, function (err, result) {
    if (err) throw err;
    console.log(result.affectedRows + " record(s) updated");
  });
});
运行示例 »

请注意 UPDATE 语法中的 WHERE 子句:WHERE 子句指定应更新哪一条或多条记录。如果省略 WHERE 子句,所有记录都将被更新!

将上面的代码保存在名为 "demo_db_update.js" 的文件中并运行该文件:

运行"demo_db_update.js"

C:\Users\ Your Name>node demo_db_update.js

这会给你这个结果:

1 record(s) updated


结果对象

执行查询时,会返回一个结果对象。

结果对象包含有关查询如何影响表的信息。

上面示例返回的结果对象如下所示:

{
  fieldCount: 0,
  affectedRows: 1,
  insertId: 0,
  serverStatus: 34,
  warningCount: 0,
  message: '(Rows matched: 1 Changed: 1 Warnings: 0',
  protocol41: true,
  changedRows: 1
}

属性的值可以这样显示:

示例

返回受影响的行数:

console.log(result.affectedRows)

这将产生这样的结果:

1