【发布时间】:2015-10-20 23:24:14
【问题描述】:
我有下表
创建表播放器(name varchar(30), playerid 序列主键);
我正在使用脚本:
def registerPlayer(name):
"""注册新玩家。"""
db = psycopg2.connect("dbname=tournament")
c = db.cursor()
player = "插入玩家值 (%s);"
score = "插入分数(获胜,匹配)值 (0, 0);"
c.execute(玩家,(名称,))
c.执行(分数)
db.commit()
db.close()
但是,当我尝试使用引号中的参数注册玩家时:
registerPlayer("Any Name")
不行...现在,如果我直接将查询输入到psql中,如果我只使用单引号就可以了
INSERT INTO player VALUES ('Any Name');
但如果我使用“任何名称”则不会。如果我使用“”,它会告诉我:
错误:“任何名称”列不存在
现在,如果我想输入 Bob O'Neal 这样的名字,这是一个问题,因为它会在 O 之后关闭该条目。
前几天引号工作正常,我去格式化,以便所有 SQL 查询都大写,一切都停止工作。我返回了运行良好的代码,但现在没有任何工作!
【问题讨论】:
-
INSERT INTO players VALUES ('"Any Name"');此外,您必须遵循列顺序或明确设置列名。 - postgresql.org/docs/9.4/static/sql-insert.html
标签: python sql database postgresql