当前位置:  开发笔记 > 编程语言 > 正文

从刚刚插入的行(MySql和Node.js)中检索数据

如何解决《从刚刚插入的行(MySql和Node.js)中检索数据》经验,为你挑选了1个好方法。

如果我有如下查询:

var queryString = "INSERT INTO pid SET title = '" + randomTitle + "', poc = '" + random + "';"
connection.query(queryString, function(err, rows, fields) {

...(do something here)
});

,有没有一种方法可以检索刚刚插入的行的信息而无需执行新查询(在我的特殊情况下,我需要自动生成的主键值)。

例如,是否可以将构造与“查询”对象(如下)一起使用,然后再使用query.on回调之一来检索有关刚插入的行的信息?

var query = connection.query(queryString, function(err, rows, fields) {

    query.on('fields', function(fields) {
    ... get the field information?
    });

    query.on('result', function(row) {
    .. get the field information?
    });


});

如果不通过查询回调,还有其他方法吗?感谢您的任何回复!



1> madox2..:

根据文档,它是possilbe。请注意,插入查询的回调函数没有rowsfields只有result参数:

connection.query(queryString, function(err, result) {
    if (err) {
        // handle error
    }
    console.log(result.insertId); // prints inserted id
}

您的查询也容易受到sql注入的攻击。它看起来应该像这样:

var queryString = "INSERT INTO pid SET title = ?, poc = ?";
connection.query(queryString, [randomTitle, random], function(err, result) {
    // ...
}

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有