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

プログラミング
アイキャッチ
スポンサーリンク
スポンサーリンク

課題

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している。

コメント

タイトルとURLをコピーしました