2016-08-22 32 views
0

我試圖在樹莓派上使用python和mysql創建登錄,註銷程序。到目前爲止,我已成功創建了註冊,登錄和退出系統,但最終組件出現問題。我正在嘗試使用TIMESTAMPDIFF減去兩個單獨的時間戳(登錄,註銷),然後將此值輸入到表中的單獨列中。但是,我正在使用的聲明不起作用。如何從兩個獨立的列中減去時間戳,然後將此數據輸入到表中

代碼:

employee_id = raw_input("Please enter your ID number") 

minutes_calc = "INSERT INTO attendance (minutes) WHERE id = %s VALUES (TIMESTAMPDIFF(MINUTE, signin, signout))" 

try: 

    curs.execute(minutes_calc, (employee_id)) 
    db.commit() 
except: 

    db.rollback() 
    print "Error" 

表結構至今(道歉格式):

name | id | signin   | signout   | minutes | 

Dr_Kerbal  123  2016-08-21 22:57:25 2016-08-21 22:59:58 NULL 

請注意,我需要聲明的是可以減去其價值的時間戳無論代替的一個聲明集中在示例中的特定時間戳。

此外,列分鐘的數據類型是十進制(10,0),因爲我最初打算以秒爲單位(即當我遇到其他已解決的問題時),其空狀態設置爲YES ,並且默認值是NULL。

感謝您的幫助

回答

0

你需要一個update查詢不INSERT

UPDATE attendance 
SET `minutes` = TIMESTAMPDIFF(MINUTE, signin, signout); 
+0

謝謝,它的工作只是一個小的調整。我必須在幾分鐘內刪除單引號才能使命令正常工作。 –

相關問題