我正在使用来自Yesod的持久postgresql库,我想执行以下原始查询:

SELECT * FROM utterance WHERE is_target IS NULL ORDER BY RANDOM() LIMIT 1000

选择1000个空的随机话语是你的目标。但是,当我通过rawSql运行代码时,persistent会生成以下SQL:
SELECT * FROM utterance WHERE is_target IS NULL ORDER BY RANDOM() LIMIT 1000"utterance"."id", "utterance"."message", "utterance"."is_target"

这会在postgresql中生成syntax error at or near ""utterance"" at character 77的错误。
我做错什么了?

最佳答案

我改为使用以下查询修复了此问题:

SELECT ?? FROM utterance WHERE is_target IS NULL ORDER BY RANDOM() LIMIT 1000

10-06 02:44