gpt4 book ai didi

python - 使用 psycopg2 将行插入 psql db

转载 作者:行者123 更新时间:2023-11-29 13:19:17 26 4
gpt4 key购买 nike

你能帮我弄清楚我做错了什么吗?我正在尝试将新玩家插入到玩家表中。这是 python 代码:

def registerPlayer(name):

code for connecting to db and cursor

c.execute("INSERT INTO players(player_name) VALUES({name});".format(name=name))

code for committing to db and closing the connection

这是我的表架构:

CREATE TABLE players(
player_id serial PRIMARY KEY,
player_name varchar(50) NOT NULL

);

错误如下:

psycopg2.ProgrammingError: syntax error at or near "Nalaar" LINE 1:

INSERT INTO players(player_name) VALUES(茜卓纳拉);

最佳答案

您永远不应该使用字符串格式将值放入 sql 查询中。相反,您应该使用 %s 并在 vars 参数中传递名称。这样做的原因是因为它可以帮助您将参数转换为适当的数据类型。

顺便说一句,当 cursor.execute 调用时,在 sql 字符串的末尾有一个 ; 是多余的,因为它会自动为您完成。

c.execute("INSERT INTO players(player_name) VALUES(%(name)s)", {"name":name})

有关详细信息,请参阅此页面:

http://initd.org/psycopg/docs/usage.html#query-parameters

关于python - 使用 psycopg2 将行插入 psql db,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44689359/

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