检查Python/MySQLdb中的空查询集
问题描述:
我似乎无法找到这个问题的简单答案。我正在使用MySQLdb for Python,并且正在运行select语句,我想检查是否返回空查询集。检查Python/MySQLdb中的空查询集
get_port = db.cursor()
get_port.execute(""" SELECT port FROM nar_ports WHERE port=%s AND hostname=%s;""", (device_port,PE))
我已经试过
if not get_port:
这并不匹配。所以然后我试了
for result in get_port.fetchall():
existing_port = result[0]
if not existing_port:
但它似乎甚至没有进入循环。所以然后我试图检查长度
if len(get_port) == 0:
但似乎你不能在一个SQL对象上运行len。所以我检查对象是否有一个没有值。
if get_port = None:
但是,这似乎并不奏效。
我确定有一个简单的解决方案,但我似乎无法找到它。任何帮助将不胜感激。提前致谢。
欢呼声
答
这很简单,虽然你几乎有一个更长的路。
if get_port.fetchone():
do_something_here()
你也可以使用了
if len(get_port.fetchmany()):
do_something_here()
但是,这是较长,效率较低。
嘿Pydsigner,男人我是如此接近,大坝!大声笑。感谢您的回复,这很有效。非常感谢! – dlyxzen 2013-03-13 00:13:50
没问题!很高兴帮助那些已经做了很多工作的人来帮助自己。顺便说一句,你可以接受和/或upvote我的答案,这将有助于其他有帮助的人再来回答你的问题。 – pydsigner 2013-03-13 00:18:46
完成并完成。队友的欢呼声。 – dlyxzen 2013-03-13 00:32:55