gpt4 book ai didi

python - psql 类型错误 : not all arguments converted during string formatting

转载 作者:太空宇宙 更新时间:2023-11-04 01:04:58 25 4
gpt4 key购买 nike

我尝试自动生成pid时遇到了麻烦

    CREATE TABLE players(
pID SERIAL primary key,
pName VARCHAR(90) not null
);

这是我的功能

    def addPlayer(name):
conn = connect()
cur = conn.cursor()
cur.execute("INSERT INTO players(pName) VALUES(%s)",name)
conn.commit()

然后我调用这个函数

    addPlayer('Vera') 

我一直收到这样的错误

    cur.execute("INSERT INTO players(pName) VALUES(%s)",name)
TypeError: not all arguments converted during string formatting

我搜索了几个小时,但仍然很困惑。谁能帮我这个?非常感谢!

最佳答案

你需要传递一个元组或列表作为第二个参数来执行。

当查询中有多个替换时,元组看起来“正常”,如下所示:(name, age)。

在您的情况下,您需要添加一个只有一部分的元组。一种简短但有点不寻常的写法是使用 (name,) 作为第二个参数。

因此:

cur.execute("INSERT INTO players(pName) VALUES(%s)",(name,))

尽管使用 ?作为替换字符,看起来像这样:

cur.execute("INSERT INTO players(pName) VALUES(?)",(name,))

关于python - psql 类型错误 : not all arguments converted during string formatting,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30834517/

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