1
我有一個小的方法來從MySQL數據庫中獲取一列。它的工作原理,但它返回一個元組,如:獲取只有一個MySQL列作爲列表而不是元組
((1L,),(2L,),(3L,), ...)
我希望得到的只是一個列表[1L, 2L, 3L,...]
(甚至是鑄造爲int,而不是長期)。我知道我可以編寫一個循環來手動執行,但可能會有一些更奇特的做法。
這是我的函數的代碼,以防萬一有一種方法可以直接將MySQL結果導入列表中,我還沒有聽說過!
def getFTPSentNotamIds():
selectedIds = None
try:
# Connect to database
db = MySQLdb.connect(host=Constants.database_host,
user=Constants.database_user,
passwd=Constants.database_passwd,
db=Constants.database_name)
# Create a cursor to execute queries
cursor = db.cursor()
# Get every ObjectID of those objects which are Selected=1
cursor.execute('SELECT ObjectID FROM MYTABLE WHERE Selected=1')
# Get the NOTAMS
selectedIds = cursor.fetchall()
except MySQLdb.Error, e:
print 'ERROR ' + str(e.args[0]) + ': ' + str(e.args[1])
return selectedIds
bleh,這消耗遊標,前加載所有的查詢數據。它確實有效,但請注意,這種行爲適合您的應用程序。 – ThorSummoner 2016-04-24 06:36:53