Node.js の mysql2 で MariaDB のデータを更新 (Update)


Async/Await を使います。

maria_update.js
#! /usr/bin/node
// ---------------------------------------------------------------
//  maria_update.js
//
//                  Jun/04/2020
//
// ---------------------------------------------------------------
var mysql = require('mysql2')

// ---------------------------------------------------------------
function get_current_date_proc ()
{
    const today = new Date ()
    var ddx = (1900 + today.getYear ()) + "-" + (today.getMonth () +1)
    ddx += "-" + today.getDate ()

    return ddx
}

// ---------------------------------------------------------------
function update_command_gen (id_in,population_in)
{
    const today = get_current_date_proc()
    var command = "update cities set population = " + population_in
    command += " , date_mod = '" + today + "'"
    command += " where id = '" + id_in + "'"
    console.log (command)

    return  command
}

// ---------------------------------------------------------------
async function main(id_in,population_in)
{
    const dotenv = require('dotenv')

    dotenv.config()

    const user = `${process.env.user}`
    const password = `${process.env.password}`
    const data_base = `${process.env.data_base}`

    var conn = await mysql.createConnection ({
        host: 'localhost',
        user: user,
        password: password,
        database: data_base
        })

    const command = update_command_gen (id_in,population_in)

    await conn.execute(command)
    conn.end()
    console.error ("*** 終了 ***")
}

// ---------------------------------------------------------------
console.error ("*** 開始 ***")

const id_in = process.argv[2]
const population_in = process.argv[3]

console.log (id_in + "\t" + population_in)

main(id_in,population_in)
// ---------------------------------------------------------------

実行コマンド

export NODE_PATH=/usr/lib/node_modules
./maria_update.js t3326 721539800