質問: await findRecord(id); console.log(record); })(); ``` ### 環境 nodejs : v8.12.0
回答: npmのmysqlモジュールは古いので、mysql2モジュールを使用してください。 > > プレースホルダーを利用して、クエリを実行したいと考えております。 > > > ドキュメントを読みましょう。 これだけだと不親切なのでヒントを出しておきます。 第一引数のクエリ文字列に`?`を入れて、第二引数に配列の形式で入れていくと、 配列の0番目の要素が1個目の`?`にあてがわれるという塩梅です。 これを元にUsing Promise Wrapper - mysql2のサンプルコードにそのまんまなサンプルが載っているので、 Google翻訳等を駆使しながら読んでみてください。 こういうプレースホルダー部分で詰まると思うのが`WHERE x IN (?, ?)`みたいになる箇所の実装です。 mysqlにはformatというメソッドが存在し、プレースホルダーを活用した際の発行SQL予定文字列を確認出来る Escaping query values - mysqlの下の方に`toSqlString`で欲しければformat使いましょう的な説明とサンプルが載っています。 因みにmysql1とmysql2は利用可能なメソッドや機能自体は瓜二つといえるほどに同じモノです。 mysql2はパフォーマンス向上、Promiseに対応等の部分で多少便利です。 両方のドキュメントを見てくださいね。