2013-07-18 72 views
1

我正在使用MysqlDB。它是否提供了執行多個SELECT查詢的方法,如mysqli_multi_query呢?如果沒有,是否有一個Python庫允許這樣做?使用python/mysql進行多重查詢

executemany,但那不是我要找的。我正在與獅身人面像工作,並試圖讓其batch queries工作。

+0

['MySQLCursor.execute()'](http://dev.mysql.com/doc/connector-python/en/myconnpy_MySQLCursor_execute.html)需要一個啓用多語句的'multi'參數,所以我想象一些Python軟件包利用了這一點。但爲什麼你會想要這樣做呢? – eggyal

+0

@eggyal:謝謝你的提示!使用oracle連接器而不是mysqldb可能是一個選項,但我很好奇mysqldb是否提供了類似的東西。 – georg

+0

@eggyal這對模式遷移腳本非常有用:) –

回答

2

我花了一些時間在MySQLdb的源代碼,以挖掘和答案是YES 可以做多個查詢與它:

import MySQLdb 

db = MySQLdb.connect(user="username", db="dbname") 
cursor = db.cursor() 

batch_queries = ''' 
    SELECT * FROM posts WHERE id=1; 
    SELECT * FROM posts WHERE id=2; 
''' 
cursor.execute(batch_queries) 

print cursor.fetchone() 
while cursor.nextset(): # iterate to next result set if there is any 
    print cursor.fetchone() 

cursor.close() 

在我的本地測試成功。希望能幫助到你。

+0

它絕對會!非常感謝。 – georg

相關問題