python写⼊数据库失败_解决python写⼊mysql中datetime类型
遇到的问题
刚开始使⽤python,还不太熟练,遇到⼀个datetime数据类型的问题:
在mysql数据库中,有⼀个datetime类型的字段⽤于存储记录的⽇期时间值。python程序中有对应的⼀个datetime变量dt。
现在需要往mysql数据库中添加记录,每次添加时,将datetime型变量dt写⼊mysql数据库tablename表中exTime字段⾥。
问题,如何写⼊?调试时,总是⽆法写⼊。
运⾏环境:windows10 python 3.6 mysql5.6.38
运⾏结果提⽰:
Process finished with exit code 0
#------看我写的程序-------------
import datetime
import pymysql.cursors
conn = t(host='127.0.0.1',
port=3306,
user='root',
password='',
db='test',
mysql下载odbc失败charset='utf8',
cursorclass=pymysql.cursors.DictCursor)
#中间略去dt赋值部分...
print(dt.strftime('%Y-%m-%d %H:%M:%S'))
#运⾏结果是 2001-1-2 11:00:00
sql_insert=sql_insert="INSERT into tablename(exTime) values(%s)" %(dt.strftime("%Y-%m-%d %H:%M:%S"))
#如果此处写成sql_insert=sql_insert="INSERT into tablename(exTime) values('2001-1-2 11:00:00')" 则可以运⾏
try:
with conn.cursor() as csor1:
connmit()
csor1.close()
except Exception as e:
#错误回滚
finally:
conn.close()
###-----------------------------------
后来在⽹上查了⼀下,mysql中datetime类型字段,赋值时最好⽤str_to_date函数转化成mysql的datetime类型
因此,把上⾯的程序改了⼀下:
sql_insert=sql_insert="INSERT into tablename(exTime) values(str_to_date(\'%s\','%%Y-%%m-%%d %%H:%%i:%%s'))" % (dt.strftime("%Y-%m-%d %H:%M:%S"))
重新运⾏,通过!
以上这篇解决python写⼊mysql中datetime类型遇到的问题就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持我们。
本⽂标题: 解决python写⼊mysql中datetime类型遇到的问题

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。