2016-11-23 6 views
-1

私はmysqlデータベースにログを書いており、私はテーブルを作成し、列はIdxyです。私はDBから読みたいときに、私は最新のログを毎回印刷したい:テーブルテーブルの行をmysqlのpython

cursor.execute("Select x,y from coordinates ORDER BY id DESC LIMIT 1") 
for row in cursor.fetchall(): 
    print(row[0]) 

それは常にDESC順されていないログの最初の行を返します。 fetchallはログの順序を変更するようです。解決策はありますか?あなただけの1つの項目に要求されたので

+0

最初の行が返され、最後の行は返されないことをどのように識別しますか? – gus27

答えて

0

あなたのコードは、最後の行を返します:あなたはすでにクエリORDER BY id DESCに言及している

"Select x,y from coordinates ORDER BY id DESC LIMIT 1" 
# You asked your database to return just one record^

、以来、それはIDの降順に基づいて値を返します。あなたが間違ったデータをチェックしているかもしれません。

再びあなたのコードは、そのために尋ねたので、また、あなたは、xの値だけを印刷:

for row in cursor.fetchall(): 
    print(row[0]) 
    #  ^item at 0th index  

行い、xyの両方のすべての値を得るために:

for x, y in cursor.fetchall(): 
    print("x= ", x, ", y= ", y) 

# OR, 
# for row in cursor.fetchall(): 
#  print("x= ", row[0], ", y= ", row[1]) 
関連する問題