【发布时间】:2015-07-14 12:55:21
【问题描述】:
如何使用 Python 3 和 sqlite3 正确检查数据库表中是否存在行?
这是我的原始代码:
cursor.execute("SELECT name, age FROM people WHERE pin=?", (pin, ))
name, age = cursor.fetchone() or ('', 0)
所以目前我正在使用or ('', 0) 为它们设置默认值,我真的不喜欢这样。
有没有办法检查这个人是否已经存在?像这样的东西(伪):
if cursor.exists("pin IN people"):
cursor.execute("SELECT name, age FROM people WHERE pin=?", (pin, ))
name, age = cursor.fetchone()
【问题讨论】:
-
如果没有,fetchone 不会引发异常吗?
-
如果没有选择则返回 None
标签: python python-3.x sqlite