2014-12-20 40 views
0

以下代碼無法正常工作 - 它正確地插入了'NumberOfUnitsSold'列,但'日期'列只是以0000-00-00結尾。我確信這只是我做錯了一件簡單的事情。使用Python將日期插入到SQL表中

currentDate = 9/12/14 
currentDate = datetime.datetime.strptime(currentDate, '%m/%d/%y').strftime('%Y-%m-%d') 
cursor.execute("INSERT INTO RealSalesData (date, NumberOfUnitsSold) VALUES (%s, 1)" % currentDate) 

我在做什麼錯?看起來我可能需要使用TO_DATE()或其他東西,但是我還沒有成功實現這個功能。

回答

0

請嘗試以下

的currentdate =「14年9月12日」

0

你不應該使用字符串插值來構建查詢那樣進行。無論你使用的是什麼sql庫,都應該支持參數化查詢,在這裏你可以傳遞帶有佔位符的查詢字符串,併爲庫提供值,以防止SQL注入攻擊。作爲額外的好處,您不必擔心格式問題,比如您的問題。

這也許應該是這個樣子:

cursor.execute("INSERT INTO RealSalesData (date, NumberOfUnitsSold) VALUES (?, 1)", currentDate) 
+1

通常情況下,使用遊標''作爲佔位符。 – nneonneo