我安装psycopg2模块是因为我想将blob文件发送到数据库。但我搞错了。
AttributeError: 'psycopg2.extensions.connection' object has no attribute 'execute'这是我的代码,有什么问题吗?
conn = psycopg2.connect(database='SECRET', user='SECRET',
password='SECRET', host='SECRET',
port=5432)
cursor = conn.cursor()
cursor.execute("SELECT gen_random_uuid();")
id = cursor.fetchone()[0]
drawing = open("cat.jpg", 'rb').read()
conn.execute("INSERT INTO files(uuid, filename, data) VALUES(%s,%s,%s)", (id, "cat.jpg",
psycopg2.Binary(drawing)))
conn.commit()发布于 2019-12-12 15:30:16
第二个执行使用连接而不是游标。替换这一行:
conn.execute("INSERT INTO files(uuid, filename, data) VALUES(%s,%s,%s)", (id, "cat.jpg", psycopg2.Binary(drawing)))通过以下方式:
cursor.execute("INSERT INTO files(uuid, filename, data) VALUES(%s,%s,%s)", (id, "cat.jpg", psycopg2.Binary(drawing)))应该能解决问题。
发布于 2019-12-12 15:32:59
您应该在安装pip install psycopg2-binary之后安装包页面,我引用
您还可以获得独立的包,而不需要编译器或外部库。
https://stackoverflow.com/questions/59307875
复制相似问题