Python 和 PostgreSQL : Function to insert variable arg into table?

标签 python sql database postgresql psycopg2

我正在尝试执行如下代码来注册具有给定名称的玩家,但我无法让参数 name 执行任何操作...我认为 %s 是将字符串插入数据库的变量,但它似乎不起作用。

import psycopg2

def registerPlayer(name):
    """Registers new player."""
    db = psycopg2.connect("dbname=tournament")
    c = db.cursor()
    c.execute("insert into Players values (%s);")
    db.commit()
    db.close()

registerPlayer("Butter")

当我运行它时,我收到错误消息:

ProgrammingError: syntax error at or near "%"    
LINE 1: insert into Players values (%s);

最佳答案

您实际上尚未将参数传递到执行方法中。

c.execute("insert into Players values (%s);", (name,))

关于Python 和 PostgreSQL : Function to insert variable arg into table?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33082031/

相关文章:

ruby-on-rails - 何时向 user_posts 表添加记录以跟踪 'likes'

python - 无法打印文件

sql - 如何在 Oracle 数据库查询中忽略区分大小写

sql - 将 NULL 日期时间转换为空白

mysql - 如何将三张表拼接成一张表?

php - 在MySql中切换两行的id号

python - 在 python 中打印出 c 类型的二进制表示

python - "unsupported operand type(s) for -: ' int' 和 'tuple' "是什么意思?

python - 求和导数

mysql - 从其他表中选择两个日期