2013-03-13 40 views
2

我似乎無法找到這個問題的簡單答案。我正在使用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: 

但是,這似乎並不奏效。

我確定有一個簡單的解決方案,但我似乎無法找到它。任何幫助將不勝感激。提前致謝。

歡呼聲

回答

2

這很簡單,雖然你幾乎有一個更長的路。

if get_port.fetchone(): 
    do_something_here() 

你也可以使用了

if len(get_port.fetchmany()): 
    do_something_here() 

但是,這是較長,效率較低。

+0

嘿Pydsigner,男人我是如此接近,大壩!大聲笑。感謝您的回覆,這很有效。非常感謝! – dlyxzen 2013-03-13 00:13:50

+0

沒問題!很高興幫助那些已經做了很多工作的人來幫助自己。順便說一句,你可以接受和/或upvote我的答案,這將有助於其他有幫助的人再來回答你的問題。 – pydsigner 2013-03-13 00:18:46

+0

完成並完成。隊友的歡呼聲。 – dlyxzen 2013-03-13 00:32:55