【问题标题】:Update query using object使用对象更新查询
【发布时间】:2019-02-12 15:30:20
【问题描述】:

我正在使用 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'

我什至不知道这是否可能。

【问题讨论】:

    标签: mysql node.js node-mysql


    【解决方案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);
    });
    

    【讨论】:

    • 已更新,您的描述栏似乎也没有正确设置。
    【解决方案2】:

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

    `update playlists set name=${insertData.name},description=${description}  WHERE public_id= ?`
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-03
      • 1970-01-01
      • 1970-01-01
      • 2022-10-18
      • 1970-01-01
      • 2018-11-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多