我尝试使用参数化查询和psycopg
来删除一堆行。我的脚本有如下删除语句:
cur.executemany( "WITH remove_rows as (DELETE FROM users WHERE userid = %s RETURNING *), insert_rows as (INSERT INTO old.users SELECT * FROM remove_rows RETURNING *) SELECT count(*) from insert_rows;", (id,))
我得到的错误是:
^{pr2}$当我从userid = %s
中删除空格并使其成为userid=%s
时,我得到了与消息column "s" does not exist
相同的错误。在
我开始怀疑psycopg2
参数化是否不处理cte?在
executemany()
接受一组嵌套的参数序列集,而不是一个。在或者将参数包装到另一个列表中,或者使用
cur.execute()
只运行一次查询。在相关问题 更多 >
编程相关推荐