【发布时间】:2015-07-08 17:49:17
【问题描述】:
我在一个 API 项目中使用 MySQLdb / Python 时遇到了问题:
def activate_acct(act_link):
# connect
db = MySQLdb.connect(host=DB_HOST, user=DB_USER, passwd=DB_PASS, db=DB_NAME)
# create a database cursor
cursor = db.cursor()
try:
sql = """UPDATE users
SET activated = %s
WHERE activate_code = %s"""
cursor.execute(sql, (1, act_link))
db.commit()
return "Activated"
except Exception as e:
return e
查询有效,因为当找到 activate_code 时,激活被更改,分贝按照我想要的方式更新,我看到一条成功消息。问题是如果 activate_code 不存在和/或无效,我仍然会收到成功消息。
如果在 WHERE 中找不到 activate_code,如何让此查询引发异常?
【问题讨论】:
-
您能否添加更多代码/示例?这只是查询。你必须在某个地方执行它。您必须填写参数。这应该是代码摘录的一部分。
-
我添加了我认为相关的内容。很抱歉把它写得很短。
标签: python mysql sql mysql-python