我有一个在 Heroku 上运行的 Rails 应用程序,它间歇性地从 Rake 任务执行的更新中抛出 Postgres 'missing FROM-clause' 错误。
一个示例 UPDATE 语句是:
UPDATE "temp_stats_values"
SET "number" = 66,
"average" = 0,
"percentage" = 0,
"num_out_of" = 0,
"updated_at" = '2013-01-12 11:43:40.067530'
WHERE "temp_stats_values"."id" = 1330
抛出的错误是:
ActiveRecord::StatementInvalid: PG::Error: ERROR: missing FROM-clause entry for table "temp_stats_values"
问题是,当显然不涉及另一个表时,我不知道为什么它期待这个 SQL 的 FROM 子句。此外,它似乎是断断续续的这一事实非常令人困惑。错误一旦发生,就会被 Airbrake 捕获。
无论如何,如果有人有任何好的想法,我将非常感激。
更新
示例SQL Fiddle按预期工作