2012-07-14 107 views
2

在MySQL我的更新語句不似乎工作:MySQL的更新語句不工作

timeup = "UPDATE timeid set time=\"" + str(timeid) + "\"" 
c.execute(timeup) 

我已經試過我想可能是錯的,包括改變變量的類型一切(就像你上面看到的那樣,我把它當作一個字符串)並且不使用引號。分別

UPDATE timeid set time="224215313716215808" 

唯一的列和值TIMEID已經是時間和0:

我甚至可以打印出的語句變成什麼成。

爲什麼不更新?難道我做錯了什麼?

回答

1

嘗試:

timeup = "UPDATE `timeid` SET `time`='" + str(timeid) + "';" 
c.execute(timeup) 

時間可能是在SQL,因此使用簡單引號(我不知道,他們是如何稱呼)確保你指的是現場的常數。並嘗試使用'來設置值並考慮添加分號。

您之前選擇了數據庫嗎?

+0

是的,數據庫被選中。 我已將此查詢更改爲: timeup =「UPDATE'timeid' set'timestamp' ='」+ str(timeid)+「';」 – 2012-07-14 19:09:27

+0

沒有運氣。我也將字段名稱更改爲時間戳 – 2012-07-14 19:09:43

+1

我不知道python,但也許有一個函數,它可以給你一些關於MySQL數據庫返回的可能錯誤的更詳細的信息。 – 2012-07-14 19:12:41

-1

嘗試在查詢的末尾添加分號(;)並告訴我它是否有效。

2

您需要使用:

c.commit(); 

因爲MySQLdb開始一個事務的更新語句。