const mysql = require('mysql2/promise');
const pool = mysql.createPool({
host: 'localhost',
user: 'root',
password: 'password',
database: 'sample',
});
function zeroPadding(num, digit){
let ret = (('0'.repeat(digit)) + num).slice(-digit);
return ret;
}
// データを挿入してIDを取得し、レコードを更新する関数
async function insertDataAndUpdateRecord(data) {
try {
// データを挿入
const insertQuery = 'INSERT INTO user (mail, password) VALUES (?, ?)';
const [insertResult] = await pool.query(insertQuery, [data.column1, data.column2]);
// 挿入されたレコードのIDを取得
const insertedId = insertResult.insertId;
console.log('Inserted record ID:', zeroPadding(insertedId, 5));
// 挿入されたレコードを更新してCSDを追加
const updateQuery = 'UPDATE user SET user_id = ? WHERE id = ?';
const [updateResult] = await pool.query(updateQuery, [`user${zeroPadding(insertedId, 5)}`, insertedId]);
console.log('Record updated with CSD:', updateResult.affectedRows);
const [getResult] = await pool.query("SELECT * FROM user WHERE id = ?", [insertedId])
console.log(getResult)
} catch (err) {
console.error('Error:', err);
} finally {
// 接続を閉じる
pool.end();
}
}
// データを挿入する例
const newData = { column1: '', column2: 'value2' };
insertDataAndUpdateRecord(newData);