idx()语法错误postgreSQL

时间:2017-10-24 13:20:20

标签: linux python-2.7 postgresql

我正在尝试执行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。 有人可以纠正代码并解释它。 感谢

1 个答案:

答案 0 :(得分:0)

:在postgresql中有点像php中的“$”..它是变量的标记。删除它意味着你正在运行一个名为“idx”的函数..如果存在这样的函数并且你想要运行它,那么是的,应该删除: - 编辑:对于后人,我确实知道关于:的解释是一个粗略的过度简化。

简而言之,不是:idx,而是使用您想要调用的函数名称。