Python 插入mysql数据库的时间戳

Python 插入mysql数据库的时间戳,python,mysql,python-2.7,insert,Python,Mysql,Python 2.7,Insert,我的python脚本中有一部分需要在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() 我有几个问题,这个语法有什么不正确的地方,以及如何将字符串的值改为timestamp而不是%s?注意,数据库中的列名与脚

我的python脚本中有一部分需要在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()
我有几个问题,这个语法有什么不正确的地方,以及如何将字符串的值改为timestamp而不是%s?注意,数据库中的列名与脚本中变量中存储的数据相同

谢谢

试试这个:

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()

时间戳创建可以在一行中完成,无需使用time.time(),只需:


只需使用数据库
NOW()
函数,例如

timestamp=“NOW()”
插入数据=“插入测试(测试日期、测试1、测试2)值(%s,%s,%s)”
当前执行(插入数据,(测试日期,测试1,测试2,时间戳))
db.commit()
db.close()

谢谢日期呢?我需要以这种格式插入yyyy mm dd hh:mm:ss@StevenWilson如果答案对你有帮助,请接受。你忘了导入一些东西
from datetime import datetime

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