gpt4 book ai didi

python - 我无法在 python 中将行插入到我的 psycopg2 脚本中

转载 作者:行者123 更新时间:2023-12-02 09:59:30 24 4
gpt4 key购买 nike

我正在尝试构建一个金钱支出监视器,并从 db 开始。我有一个用于构建表格的脚本:

def create_table(name):
conn = db.connect(dbname='Money_Tracker' ,user="",password="",host="",port="")
cur = conn.cursor()
cur.execute(f"CREATE TABLE IF NOT EXISTS {name}(ID SERIAL PRIMARY KEY ,F_Name VARCHAR, L_Name VARCHAR, Expense INT, Category VARCHAR )")
conn.commit()
conn.close()

并创建了一个表

create_table("money_spent")

其次,我构建了一个函数来将数据插入表中:

def add_money_spent(Firstname, Lastname, Amount, Cat):
conn = db.connect(dbname='Money_Tracker' ,user="",password="",host="",port="")
cur = conn.cursor()
cur.execute("INSERT INTO money_spent VALUES(%s, %s, %s, %s)",(Firstname,Lastname,Amount,Cat))
conn.close()

我尝试像这样使用它:

add_money_spent("Michael","Ben-Haym",15,"Cofee")

当我运行代码时,出现错误sycopg2.errors.InvalidTextRepresentation:整数类型的输入语法无效:“Cofee”第 1 行: ... INTO Money_spent VALUES(15, 'Michael', 'Ben-Haym', 'Cofee')
看来代码认为 cofee 应该是一个整数,即使我在表中指定类别应该是 varchar
有人可以向我解释一下我该如何解决这个问题吗?
谢谢:)

最佳答案

看来列顺序是随机的。所以你必须指定它:

cur.execute("""INSERT INTO money_spent (F_name, L_Name, Expense, Category) 
VALUES(%s, %s, %s, %s);""",(Firstname,Lastname,Amount,Cat))

然后请确保提交您的更改:

conn.commit()

在关闭连接之前。

关于python - 我无法在 python 中将行插入到我的 psycopg2 脚本中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59705614/

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