gpt4 book ai didi

Python Pyscopg : How do I use place holders with LIMIT/OFFSET and WHERE?

转载 作者:太空宇宙 更新时间:2023-11-03 11:32:51 28 4
gpt4 key购买 nike

我目前正在尝试在 Python 的 psycopg 模块中的 PostgreSQL 查询中使用占位符。这是我正在使用的代码示例。

table.execute('SELECT * FROM table WHERE col2 = %s ORDER BY pID ASC LIMIT %s OFFSET %s;',(val1,val2,val3))

我在某处读到,不可能对 LIMIT 和 OFFSET 使用这样的占位符,但是我应该对 WHERE = 使用这种占位符格式。

safely specifying 'order by' clause from user input in python / postgresql / psycopg2

有人知道这个 sql 查询的正确占位符语法吗?谢谢!

最佳答案

Limit 和 offset 都可以毫无问题地与占位符一起使用。

一般来说,您可以在表达式中允许“值”的任何地方使用占位符。

cur.execute("select * from node where node_name = %s limit %s offset %s", ('test', 5, 5))

工作得很好。

正如引用文章中所述,您不能使用占位符来引用表、列、模式或它们的别名。在这些情况下,您通常需要在调用 execute 之前进行自己的变量替换。

关于Python Pyscopg : How do I use place holders with LIMIT/OFFSET and WHERE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13887967/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com