🐥

Node.jsのMySQLでINSERTしたレコードを取得したい時

2021/06/14に公開

課題

Node.jsのMySQLライブラリで INSERTした後のレスポンスにレコードの情報が返却されるのかと思っていたら そうでは無かったので、調べました。

テーブル情報

テーブル名

table_name

カラム情報

id:Auto increments
age:Int

解決方法

const [result] = await mysql.execute(
INSERT INTO table_name age VALUES 26,[]);
const [rows] = await mysql.execute(
SELECT * FROM table_name WHERE id = $<span class="synIdentifier">{</span>result.insertId<span class="synIdentifier">}</span>;,[]);
console.log(rows[0]);

解説

INSERTのSQLのレスポンス値にinsertIdという項目があり、 これがテーブルのidの値が返ってくるようだったので、 それを使用してSELECTしている。

GitHubで編集を提案

Discussion