我有以下 SQL 语句
INSERT INTO scheduled_event_log ("key")
SELECT :key WHERE NOT EXISTS( SELECT AGE(now() at time zone 'utc', timestamp_utc)
FROM scheduled_event_log
WHERE "key" = :key
AND age(now() at time zone 'utc', timestamp_utc) < :interval limit 1 );
:interval
是 Postgres 区间类型。我使用 sqlx 将其准备为命名语句,但将 args 传递给Exec(..)
where :interval
is a Golangtime.Duration
会导致恐慌。
应该如何以这种方式将间隔指定为参数?