使用对象更新查询

时间:2019-02-12 15:30:21

标签: mysql node.js node-mysql

我正在使用npm软件包mysql,我想进行一个更新查询,该更新获取一个对象并知道哪些字段需要更新

function editPlaylistDB(publicID, name, description,callback) {

    let insertData={};
    if (name!==null){
        insertData.name=name;
    }
    if(description!==null){
        insertData.description=description;
    }

     db.query('update playlists set name=insertData.name,description=description  WHERE public_id= ?',[publicID]).then((rows=>{
        console.log(rows);
        callback(rows);

    })).catch((err)=>{
        console.log(err);
        callback(null);
    });
}

这是错误消息

Error: ER_BAD_FIELD_ERROR: Unknown column 'insertData.name' in 'field list'

我不知道这是否有可能。

2 个答案:

答案 0 :(得分:1)

为什么不添加另一个参数化变量,例如public_id?另外,您的描述似乎也未正确设置。另外,再次检查您如何设置insertData.description以及应该在哪里设置。

db.query('update playlists set name=?,description=?  WHERE public_id= ?',[insertData.name, (description var goes here), publicID]).then((rows=>{
    console.log(rows);
    callback(rows);

})).catch((err)=>{
    console.log(err);
    callback(null);
});

答案 1 :(得分:0)

也许您需要使用参数化的字符串:

<%= link_to '<i class="fa fa-home fa-lg"></i>'.html_safe, root_path %>