👋

cloudflare d1の.bind()について

に公開

注意

const res = db
    .prepare(`select hoge, fuga from piyo where hoge = ?2 and fuga = ?1;`)
    .bind(fuga, piyo)
    .all();

.bind()で呼び出すプリペアドな変数は?あるいは?nで呼び出します。
調査によると$nは全部?に変換されてしまい、順番を気にしなくなるので必ず?nで呼び出しましょう。呼び出しの際の変数の型もノールックみたいなのでプリペアドと実際の型が違くともエラーも出ない?

p.s.レファレンスを見ると他にも知らなかった機能があるので、ここに記す。
.raw()... 返り値が配列になります。
.first()... 最初の行だけ返します。

以上

https://developers.cloudflare.com/d1/worker-api/prepared-statements/

Discussion