1

地獄の連中が python に飛び込んだばかりで、私はこれを理解するのに苦労しています

2 つのクエリがあります。. query1そしてquery2
row = cursor.fetchone()、私が言及していて言及しquery1ていないことをどのように伝えることができますかquery2

cursor = conn.cursor()
query1  = cursor.execute("select * FROM spam")
query2  = cursor.execute("select * FROM eggs")
row = cursor.fetchone ()

みんなありがとう

4

3 に答える 3

3

2 番目のクエリを実行すると、最初のクエリの結果は失われます。( の戻り値executeは役に立ちません。) 2 つのクエリを同時に処理する正しい方法は、2 つのカーソルを使用することです。

cursor1 = conn.cursor()
cursor2 = conn.cursor()
cursor1.execute("select * FROM spam")
cursor2.execute("select * FROM eggs")
cursor1.fetchone() #first result from query 1
cursor2.fetchone() #first result from query 2
于 2012-04-30T05:09:00.107 に答える
1

そうではありません。からの戻り値cursor.executeは無意味です。PEP 249ごと:

.execute(operation[,parameters]) 

        Prepare and execute a database operation (query or
        command)...

        [...]

        Return values are not defined.
于 2012-04-30T05:03:30.977 に答える
1

あなたがしようとしているようにそれを行うことはできません。代わりに次のようにします。

cursor = conn.cursor()
cursor.execute("select * FROM spam")
results1 = cursor.fetchall()
cursor.execute("select * FROM eggs")

if results1 is not None and len(results1) > 0:
    print "First row from query1: ", results1[0]

row = cursor.fetchone()
if row is not None:
    print "First row from query2: ", row
于 2012-04-30T05:03:36.600 に答える