gpt4 book ai didi

python - 无法在 Python 中执行 Postgres 查询

转载 作者:行者123 更新时间:2023-11-29 12:42:42 27 4
gpt4 key购买 nike

我正尝试在 Python 中使用 psycopg2 创建一个 Postgres 表,如下所示:

import psycopg2

class DbOperations (object):

def __init__(self):

self.dummy = None
self.conn = None
self.cur = None
self.query = None
self.db_name = "alarm_log"
self.table_name = "alarms"
self.user = "cayman"
self.password = "admin"
self.host = "127.0.0.1"

def db_connect(self):

self.conn = psycopg2.connect(dbname=self.db_name, user=self.user, password=self.password, host=self.host)
self.cur = self.conn.cursor()

def db_disconnect(self):

self.conn.close()

def db_create_table(self):

self.query ="""
CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
"""
print (self.query)
self.cur.execute(self.query)

然后我构造对象如下:

db_app = DbOperations()
db_app.db_connect()
db_app.db_create_table()

我能够手动连接到数据库并创建表。但是,我无法使用 Python 这样做。没有异常或错误消息。当我尝试手动列出数据库中的表时,找不到新创建的表。有什么建议可能是错的吗?

最佳答案

看来,您在 db_create_table 方法末尾缺少 commit:

self.conn.commit()

关于python - 无法在 Python 中执行 Postgres 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41641279/

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