gpt4 book ai didi

python - 在 python 中构建 MySQL 查询的正确方法?

转载 作者:行者123 更新时间:2023-11-29 00:59:42 25 4
gpt4 key购买 nike

上周从 php 开始使用 python 之后,我想知道构建 MySQL 查询的最佳方法是什么。

我正在使用 Python 的 MySQLdb 模块。

经过一些研究,最好的方法似乎是类似于下面的代码:

def updateEmployee(employee):
try:
cursor = db.cursor()
cursor.execute("""
UPDATE `employee2`
SET `employeeID`=%s, `parentNameN`=%s, `firstName`=%s, `lastName`=%s, `title`=%s, `room`=%s, `locCode`=%s, `posOrg`=%s
WHERE `employee2`.`nameN`=%s
""", (employee["employeeID"], employee["parentNameN"], employee["firstName"], employee["lastName"], employee["title"], employee["room"], employee["locCode"], employee["posOrg"], employee["nameN"]))
db.commit()
print employee["nameN"]+" updated"
except MySQLdb.Error, e:
print "Error %d: %s" % (e.args[0], e.args[1])
sys.exit(1)

这一切都很棒,除了当出现此错误时,我得到诸如“错误 1064:您的 SQL 语法中有错误:...”之类的信息,这很好,它说我的查询在语法上不正确。

所以我得到了那个部分,但是我如何查看有问题的查询?有没有一种方法可以在 cursor.execute 之外构造此查询,以便在我收到一般错误消息的情况下至少可以执行“打印查询”?

最佳答案

您不需要在查询中使用反引号。错误在这里 `posOrg`:%s

SET `employeeID`=%s, `parentNameN`=%s, `firstName`=%s, `lastName`=%s,
`title`=%s, `room`=%s, `locCode`=%s, **`posOrg`:%s**

关于python - 在 python 中构建 MySQL 查询的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4135683/

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