2015-12-02 100 views
2

我有我的Python腳本的一部分,我需要一些數據插入表下面一個MySQL數據庫的例子:插入到一個MySQL數據庫時間戳

insert_data = "INSERT into test (test_date,test1,test2) values (%s,%s,%s)" 
cur.execute(insert_data,(test_date,test1,test2)) 
db.commit() 
db.close() 

我有幾個問題,什麼是不正確使用這種語法,以及如何將VALUES更改爲時間戳,而不是將%s更改爲字符串?請注意,數據庫中的列名與存儲在腳本中變量中的數據相同。

感謝

回答

5

試試這個:

import MySQLdb 
import time 
import datetime 

ts = time.time() 
timestamp = datetime.datetime.fromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S') 
conn = MySQLdb.connect(host= "localhost", 
       user="root", 
       passwd="newpassword", 
       db="db1") 
x = conn.cursor() 

try: 
    x.execute("""INSERT into test (test_date,test1,test2) values(%s,%s,%s)""",(timestamp,test1,test2)) 
    conn.commit() 
except: 
    conn.rollback() 

conn.close() 
+0

謝謝你怎麼樣日期?我需要它以這種格式插入yyyy-mm-dd hh:mm:ss –

+0

我編輯了答案@StevenWilson – essramos

+0

@StevenWilson請接受答案,如果它對你有幫助。 –

3

時間戳創建可以在同一行,沒有必要使用了time.time()來完成,只是:

timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S')