首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取nodejs插入查询中包含的行数据?

问如何获取nodejs插入查询中包含的行数据?
EN

Stack Overflow用户
提问于 2019-07-27 18:32:22
回答 3查看 5.7K关注 0票数 0

我有一个简单的insert查询,如下所示:

代码语言:javascript
复制
let sql = "INSERT into users(name, date) VALUES ('"+name+"', '"+date+"')";
  connection.query(sql, (err, result) => {
      if(err) {
          res.status(500);
      } else {
        res.send(result) // we have here an object that has only the inserted id  
      }
  });

我真正想要的是获取插入的行数据,而不仅仅是id,而不需要进行另一个select查询来获取它们。

有办法在一个查询中做到这一点吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-07-29 07:50:52

如果您正在使用:

// include mysql module var mysql = require('mysql');

mysql模块不会返回insert查询中的数据。它回来了:

  • Number of rows affected,Number of records affected with the warning,Message

如果您想获取插入的数据,则应该使用查询生成器或ORM,比如Sequelize。续写文件。

票数 4
EN

Stack Overflow用户

发布于 2020-11-16 16:39:47

您可以使用下面的代码获得最后插入的id:

代码语言:javascript
复制
SQLconnnection.query(sql, (err, result) => {
      if(err) {
          console.error(err);
      } else {
         console.log(result) ;
         /*Output=>{affectedRows: 1
                    changedRows: 0
                    fieldCount: 0
                    insertId: 1 =>Last inserted ID Here
                    message: ""
                    protocol41: true
                    serverStatus: 2
                    warningCount: 0}*/
       console.log(result.insertId);//=>last inserted id get
      }
  });
票数 1
EN

Stack Overflow用户

发布于 2020-06-08 04:16:04

您可以使用这个检索

代码语言:javascript
复制
let sql = "INSERT into users(name, date) VALUES ('"+name+"', '"+date+"') ; SELECT * FROM users WHERE id = SCOPE_IDENTITY()";
  connection.query(sql, (err, result) => {
      if(err) {
          res.status(500);
      } else {
        res.send(result) // we have here an object that has only the inserted id  
      }
  });

SCOPE_IDENTITY()返回插入的最后一个标识值

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57235009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档