0

MySQL/Connector 1.0.7 モジュールで Python 3.2.3 を使用しています。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}]

そして、10以上のチームが3つ見つかった場合は、次のようになります...

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

この種のことが可能であれば、空の辞書がいたるところにある場合に備えて、コード全体に大量の例外チェックを記述する必要はありません。

4

1 に答える 1

0

最初にDESCtable_nameを使用できます。最初の列の列名を取得する必要があります

また、dictのキーをすでに知っているので、自分で作成して、結果に値がある場合はそれに追加することができます。

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

しかし、なぜあなたがこれを必要とするのか私にはわかりません。あなたが持っているならlist of dictionaries、私はあなたがforループ操作を持っていると思います。forループは空のリストに対して何も実行しないため、例外チェックについて気にする必要はありません。

あなたがそのようなことをしなければresult[0]['team']ならないなら、あなたは間違いなくチェックするべきですlen(result)>0

于 2012-10-19T11:34:25.020 に答える