初歩的な質問で申し訳ないのですが、、
rails consoleなどで、例えば以下のようなクエリを実行するとします。
ruby
1User.find(1)
このとき、 ログ上に吐き出されるSQLは以下のような形式となっております。
ruby
1SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
しかし、実際に上記のSQLを自分で書くとなると、普通は以下のような形になるかと思っております。
(逆に、上記ログで出力された文をdb consoleなどで直接SQLとして実行するとError: near "[["id", 1]": syntax error
となり実行できません。。)
sql
1SELECT * FROM "users" WHERE "id" = 1 LIMIT 1;
こちら、実際に書く形式とログの形式が異なるのは何故なのでしょうか?
ログから発行されるSQLを確認しようとしても、上記のように純粋なSQLとは異なる場合が多く困っております。。
どなたか、上記の理由及び「ログに出力されるSQLを読み解く(変換する?)ために参考になる文献」などあればご教授いただけませんでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/07 07:50