SQL中rails log log的美元符号是什么意思?

问题描述 投票:0回答:1

我无法理解为什么有一个$1而不是123,这是我放入的id

Foo Load (0.4ms)  SELECT  "foos".* FROM "foos" WHERE "foos"."id" = $1 LIMIT 1  [["id", 123]]
Doorkeeper::Application Load (0.4ms)  SELECT "oauth_applications".* 
  FROM "oauth_applications" WHERE "oauth_applications"."id" IN (SELECT DISTINCT "oauth_access_tokens"."application_id" 
  FROM "oauth_access_tokens" WHERE "oauth_access_tokens"."resource_owner_id" = $1
  AND "oauth_access_tokens"."revoked_at" IS NULL)  [["resource_owner_id", 123]]
sql ruby-on-rails logging
1个回答
0
投票

输出中的$1表示位置参数,例如["id", 123],其中包含您放入查询中的id

即来自PostgreSQL docs

后跟数字的美元符号($)用于表示函数定义或预准备语句的正文中的位置参数。在其他情况下,美元符号可能是标识符或美元引用的字符串常量的一部分。

© www.soinside.com 2019 - 2024. All rights reserved.