Open5
SQLx の query! と query_as! の使い分け
SQLx
The Rust SQL Toolkit
macro を使いたい
マクロの場合、コンパイル時にフィールドの有無や型のチェックがおこなわれる。
なので、基本的にはマクロで良いと思う。
query_as では返り値の型を指定できるが、query ではできない。
query! vs query_as!
SELECT の取得系の SQL では query_as!
が返り値の型指定できるから便利。
INSERT、UPDATE、DELETE などの更新系のSQLの場合、execute()
のある query!
しか使えない。
ただし、RETURNING 句を使う場合は fetch_one()
が使えるので query_as!
が良さげ。
似たような基準で使い分けてそうな人がいた
SQL が重複するようなケースでは、query_file! や query_file_as! が良いのかな?