python - Postgres/psycopg2 - 插入字符串数组

标签 python postgresql psycopg2

我将 Postgres 9 和 Python 2.7.2 与 psycopg2 一起使用,并尝试插入一个字符串值数组,并正确转义引号。示例:

metadata = {"Name": "Guest", "Details": "['One', 'Two', 'Three']"}

cur.execute("insert into meta values ('%s');" % metadata)

抛出异常:

psycopg2.ProgrammingError: syntax error at or near "One"
LINE 1: "Details": "['One...
                      ^

我也试过使用 Postgres 的 E 和反斜杠一起转义,但还没有找到正确的组合。想法?

最佳答案

您必须让 psycopg 为您绑定(bind)参数:不要尝试自己引用它们。

Psycopg 自动将 python 字符串列表转换为 postgres 数组。检查https://www.psycopg.org/docs/usage.html#lists-adaptation

关于python - Postgres/psycopg2 - 插入字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6853161/

相关文章:

Python - SQLAlchemy 多 session

ruby-on-rails - 新 Rails 安装:ActiveRecord::NoDatabaseError FATAL: role does not exist

PHP检查登录验证

python - Psycopg2:cursor.execute 无法正常工作

python - 从数据库中的表中获取数据

python - 用 Beautiful Soup 提取 href

python - 使用 Selenium Python 接受 1 个位置参数,但 2 个出现错误

Python Pandas 如何找到同时出现的顶级字符串?

PHP 从 PostgreSQL 查询中获取结果字符串

python - 使用 RPY2 将 psycopg2 的结果映射到 R 的数据帧中