2015-12-31 105 views
0

enter image description heremysql sum only only 1

我已經四處尋找解決方案,但似乎無法發現我做錯了什麼。我有一個帶有2列的表的MySQL數據庫:時鐘(包含時間戳)和狀態(包含1或0)。當我的麪包板上按下按鈕(我正在使用樹莓派)時,1會進入數據庫並持續更新,如果未按下按鈕,則會將0輸入到表格中。這可以起到我在命令行中選擇表格的作用,並顯示適當數量的1和0。

在一個單獨的python文件中,數據庫和表被調用,應該是狀態列的總和,如果這是1或更多,我知道按鈕在最後30秒被按下,因爲表將每30秒清除一次。

問題是,無論1和0是多少,即使表是空的時候,總和也只會返回1.我對python非常陌生,所以這個錯誤可能會非常小,感謝您的幫助!

下面是和整個Python文件:

import MySQLdb 

conn = MySQLDB.connect('localhost', 'root', 'password', 'sensordb') 
cur = conn.cursor() 

but1 = cur.execute("SELECT SUM(state) FROM button1") 
print "%d" % but1 
+0

顯示錶格的模式和數據。 –

+0

ive現在添加了架構和空的 – joshmh

回答

0

您需要讀取該行也是如此。

cur.execute("SELECT SUM(state) FROM button1") 
row = cur.fetchone() 

    while row is not None: 
     print(row) 
     row = cur.fetchone() 
+0

謝謝你,這工作得很好! – joshmh

+0

如果這個答案對你有幫助,請接受並投票。謝謝@joshmh –

0

就快成功了....

後cur.execute(....)

然後需要讀取輸出...

for result in cursor.execute("Your QUERY"): 
    if result.with_rows: 
    print("Rows produced by statement '{}':".format(
     result.statement)) 
    print(result.fetchall()) 

希望這可以幫助你......