2012-10-18 61 views
0

我使用Python 3.2.3返回的列名,與MySQL /連接器1.0.7模塊。有沒有辦法返回列名,如果MySQL查詢返回空結果?從空的MySQL查詢結果

例如。說我有這個查詢:

SELECT 
`nickname` AS `team`, 
`w` AS `won`, 
`l` AS `lost` 
WHERE `w`>'10' 

然而,如果沒有超過10的人,它顯然沒有返回任何東西。現在,我知道我可以檢查如果結果是None,但我可以讓MySQL返回列名稱和它一個NULL值?

如果您好奇,我想知道這是否可能的原因是因爲我根據列名動態構建字典。所以,上面的,最終會看起來像這樣的東西,如果沒有人超過10 ...

[{'team':None,'won':None,'lost':None}] 

,看起來像這樣,如果它發現了3支球隊在10 ...

[{'team':'Tigers','won':14,'lost':6}, 
{'team':'Cardinals','won':12,'lost':8}, 
{'team':'Giants','won':15,'lost':4}] 

如果這種事情是可能的,那麼我不會有寫一噸的異常檢查各地在空字典的情況下,所有的地方的代碼。

回答

0

你可以先使用DESC TABLE_NAME,你應該在第一列獲得列名

你也已經知道在字典中鍵,以便你可以構建自己,然後添加的東西,如果結果有值。

[{'team':None,'won':None,'lost':None}] 

但是我看不出爲什麼需要這個。如果你有一個list of dictionaries,我猜你會循環操作。對於循環不會做任何一個空列表,這樣你就不必理會例外檢查

如果你不得不這樣做result[0]['team']那麼你一定要檢查是否len(result)>0