私は、実用的な理由から、PHP で PDO を使用する場合のように、SQL クエリを準備するときに、SQL クエリ内のパラメータに名前を付けていました。
では、node-postgres モジュールで名前付きパラメータを使用できますか?
今のところ、インターネット上で次のようなクエリを示す多くの例とドキュメントを見ました。
client.query("SELECT * FROM foo WHERE id = $1 AND color = $2", [22, 'blue']);
しかしこれも正しいのでしょうか?
client.query("SELECT * FROM foo WHERE id = :id AND color = :color", {id: 22, color: 'blue'});
またはこれ
client.query("SELECT * FROM foo WHERE id = ? AND color = ?", [22, 'blue']);
$n
私がこれを尋ねているのは、動的に構築されたクエリの場合には役に立たない番号付きパラメータのためです。
ベストアンサー1
そこには図書館あなたがやろうとしていることについて。方法は次のとおりです。
var sql = require('yesql').pg
client.query(sql("SELECT * FROM foo WHERE id = :id AND color = :color")({id: 22, color: 'blue'}));