0
我正在嘗試使用python將時間戳插入到mysql db的列created_by中。Mysql時間戳列數據被截斷
這裏是我的數據庫表設置..
CREATE TABLE temps (
temp1 FLOAT, temp2 FLOAT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
temp1中和TEMP2和正確填充,但收到一個錯誤的時間戳
Warning: Data truncated for column 'created_at' at row 1
cursor.execute("""INSERT INTO temps VALUES (%s,%s,%s)""",(avgtemperatures[0],avgtemperatures[1],st[2]))
((71.7116, 73.2494, None),)
下面是Python腳本的是插入信息的部分分貝。
#connect to db
db = MySQLdb.connect("localhost","user","password","temps")
#setup cursor
cursor = db.cursor()
ts = time.time()
st = datetime.datetime.fromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S')
sql = """CREATE TABLE IF NOT EXISTS temps (
temp1 FLOAT,
temp2 FLOAT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP)"""
cursor.execute(sql)
#insert to table
try:
cursor.execute("""INSERT INTO temps VALUES (%s,%s,%s)""",(avgtemperatures[0],avgtemperatures[1],st[2]))
db.commit()
except:
db.rollback()
#show table
cursor.execute("""SELECT * FROM temps;""")
print cursor.fetchall()
((188L, 90L),)
db.close()
這裏是DB的轉儲:
Dumping data for table temps
temp1 temp2 created_at
71.7116 73.2494 0000-00-00 00:00:00
完美!這解決了這個問題。 – user2782497