gpt4 book ai didi

解决python写入mysql中datetime类型遇到的问题

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 28 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章解决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 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#------看我写的程序-------------
import datetime
import pymysql.cursors
conn = pymysql.connect(host = '127.0.0.1' ,
                port = 3306 ,
                user = 'root' ,
                password = '',
                db = 'test' ,
                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:
    
     csor1.execute(sql_insert)
     conn.commit()
     csor1.close()
except Exception as e:
   #错误回滚
   conn.rollback()
finally :
   conn.close()
###-----------------------------------

后来在网上查了一下,mysql中datetime类型字段,赋值时最好用str_to_date函数转化成mysql的datetime类型 。

因此,把上面的程序改了一下:

?
1
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类型遇到的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我.

原文链接:https://blog.csdn.net/WilliamDescant/article/details/78767942 。

最后此篇关于解决python写入mysql中datetime类型遇到的问题的文章就讲到这里了,如果你想了解更多关于解决python写入mysql中datetime类型遇到的问题的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com