MySQLのクエリ文字列の値として使用JSオブジェクト

ミロ:

nodejs上のクエリMySQLへのプールを使用してイム。私たちはやって、それが正常に動作しています。

let values = [1, 2, 3];
DB.pool.query('SELECT * ROM table_name WHERE col1 = ? AND col2 = ? AND col3 = ?' , values, ( err, rows ) => {
    //Do something
});

あなたはお気づきのように、値が配列上にあり、私たちが使用する場所?、これらの値を挿入するには、クエリ文字列に。これに伴う問題は、複雑なクエリに、たくさんの価値がある、です。

代わりに、オブジェクトを使用する方法はありますか?

何かのようなもの:

let values = {col1: 1, col1: 2, col1: 3};

そして、クエリ文字列は次のようになります:

SELECT * ROM table_name WHERE col1 = :col1 AND col2 = :col2 AND col3 = :col3

任意の助けいただければ幸いです。

ジョン教会:

あなたのようなクエリービルダーを探しているかもしれないknexのslonik

あなたは多分使用して、クエリにヘルプ補間文字列に独自のユーティリティ関数を書くことができJSテンプレートリテラルをしていますが、これのいくつかの操作を行いその上にすでに助けに存在するようなパッケージがあります。

結局、答えは「本当に」です。SQLクエリは、基本的に文字列です。どちらかあなたは(何でもあなたがすでにやっている使用しているクライアント、あなたが値の配列を渡しせるには、文字列に補間を取得するものです)あなたのためのクエリを構築し、クライアント/ライブラリで作業しようとしている、またはあなたがあります手動で何とか自分で自分の文字列を作成する予定。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=21561&siteId=1