【问题标题】:How to insert a record if not existing and update if existing (upsert) using node js mysql?如果不存在,如何使用节点 js mysql 插入记录并更新(更新插入)?
【发布时间】:2020-08-18 15:31:57
【问题描述】:

这是我的插入查询,现在我希望它使用 UPSERT 方法对其进行修改,以检查记录是否存在,如果不存在则更新插入。这是我的插入部分。

jsonObj = JSON.parse(jsonData);

if (jsonObj.hasOwnProperty("PE")) {
    msgId = parseInt(jsonObj["PE"]);

    if (msgId == XEPT_EVENT_ID) {
        var pe = jsonObj["PE"];
        var uid = jsonObj["UID"];
        var mac = jsonObj["MAC"];
        var time = jsonObj["TIM"];

        var records = jsonObj["Record"];
        var digital_input = [];
        records.forEach(rec => {
            digital_input.push(rec[3]);
        });

        if (typeof con !== 'undefined' && con) {
            con.connect();
            var sql = "INSERT INTO  sierra_ips.iot_output_log (device_code,  device_id, last_updated_time, digital_input_0, digital_input_1, digital_input_2, digital_input_3, digital_input_4, digital_input_5, digital_input_6, digital_input_7)VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
            con.query(sql, [uid, mac, time, digital_input[0], digital_input[1], digital_input[2], digital_input[3], digital_input[4], digital_input[5], digital_input[6], digital_input[7]], 
                function (err, result) {
                    if (err) throw err;
                    console.log("Record inserted");
                }
            );
        }
    }
}

【问题讨论】:

    标签: mysql node.js insert-update upsert


    【解决方案1】:

    我用这种方式得到了答案,

    var mysql = require('mysql');
    const upsert = require('mysql-upsert');
    
     const table = 'table name'
     const data = [
       { col_name: 'value' }]#your data with columns
    
    var con = mysql.createConnection({
     host: "",
      user: "",
      password: "b",
      database: ""#config db connection
    });
    
    const { affectedRows } = upsert(con)(table, data)
    con.end()
    

    这里是参考链接 = [https://www.npmjs.com/package/mysql-upsert][1]

    【讨论】:

    • 这工作正常。它非常适合我的场景。很棒
    猜你喜欢
    • 2022-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-14
    • 1970-01-01
    • 1970-01-01
    • 2019-01-16
    • 1970-01-01
    相关资源
    最近更新 更多