我正在尝试执行postgresql查询,但是出现语法错误。查询是:
c.execute("CREATE TABLE smaller_coverage "
"AS (SELECT donor_id, block_id, "
" sorted_ids[(:idx(sorted_ids, block_id) - 1)]"
" AS smaller_ids "
" FROM plural_block INNER JOIN covered_blocks "
" USING (donor_id))")
错误发生在:idx。 有人可以纠正代码并解释它。 感谢
答案 0 :(得分:0)
:在postgresql中有点像php中的“$”..它是变量的标记。删除它意味着你正在运行一个名为“idx”的函数..如果存在这样的函数并且你想要运行它,那么是的,应该删除: - 编辑:对于后人,我确实知道关于:的解释是一个粗略的过度简化。
简而言之,不是:idx,而是使用您想要调用的函数名称。