简体   繁体   English

Node.js 不在 MySql 数据库中保存数据

[英]Node js in not saving data in MySql database

I have the following code.我有以下代码。 When i execute it, i get当我执行它时,我得到

Database connected successfully.数据库连接成功。 1 record inserted.已插入 1 条记录。 But it saves no data in MySql database, Im pretty sure my code is correct?但是它在 MySql 数据库中没有保存任何数据,我很确定我的代码是正确的? but do someone has any tip or advice?但有人有任何提示或建议吗?

var mysql = require('mysql');

var dbconn = mysql.createConnection({
   host: "localhost",
   user: "root",
   password: "",
   database: "assessment"
});
dbconn.connect(function(err) {
   if (err) throw err;
   console.log("Database connected successfully!");

  var sqlquery = "INSERT INTO users (username,password) VALUES ('john', 'jmpleom')";
  dbconn.query(sqlquery, function (err, result) {
    if (err) throw err;
        console.log(result.affectedRows + " record inserted");
  });
});

Have you tried committing the data to the database?您是否尝试将数据提交到数据库? As a failsafe from unfinished queries, databases will rollback any records to their original state if the data is not committed to the database.作为未完成查询的故障保护,如果数据未提交到数据库,数据库会将任何记录回滚到其原始状态。

After your insert query, try it out.在插入查询之后,尝试一下。 Based on your code it might look something like this:根据您的代码,它可能如下所示:

  dbconn.commit(function(err) {
        if (err) { 
          connection.rollback(function() {
            throw err;
          });

To save or commit data you have to end the connection like this:要保存或提交数据,您必须像这样结束连接:

dbconn.connect(function(err) {
if (err) throw err;
console.log("Database connected successfully!");

var sqlquery = "INSERT INTO users (username,password) VALUES('john','jmpleom')";
dbconn.query(sqlquery, function (err, result) {
if (err) throw err;
    console.log(result.affectedRows + " record inserted");
    dbconn.end(); //like this
});

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

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