解決python寫入mysql中datetime類型遇到的問題
剛開始使用python,還不太熟練,遇到一個datetime數(shù)據(jù)類型的問題:
在mysql數(shù)據(jù)庫中,有一個datetime類型的字段用于存儲記錄的日期時間值。python程序中有對應(yīng)的一個datetime變量dt。
現(xiàn)在需要往mysql數(shù)據(jù)庫中添加記錄,每次添加時,將datetime型變量dt寫入mysql數(shù)據(jù)庫tablename表中exTime字段里。
問題,如何寫入?調(diào)試時,總是無法寫入。
運(yùn)行環(huán)境:windows10 python 3.6 mysql5.6.38
運(yùn)行結(jié)果提示:
Process finished with exit code 0
#------看我寫的程序------------- 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')) #運(yùn)行結(jié)果是 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')" 則可以運(yùn)行 try: with conn.cursor() as csor1: csor1.execute(sql_insert) conn.commit() csor1.close() except Exception as e: #錯誤回滾 conn.rollback() finally: conn.close() ###-----------------------------------
后來在網(wǎng)上查了一下,mysql中datetime類型字段,賦值時最好用str_to_date函數(shù)轉(zhuǎn)化成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"))
重新運(yùn)行,通過!
以上這篇解決python寫入mysql中datetime類型遇到的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python 時間戳之獲取整點(diǎn)凌晨時間戳的操作方法
這篇文章主要介紹了Python 時間戳之獲取整點(diǎn)凌晨時間戳的操作方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友參考下吧2020-01-01在多種情況/開發(fā)環(huán)境中運(yùn)行python腳本和代碼的技巧分享
Python腳本或程序是包含可執(zhí)行Python代碼的文件,能夠運(yùn)行Python腳本和代碼可能是您作為Python開發(fā)人員所需的最重要的技能,在本教程中,您將學(xué)習(xí)一些運(yùn)行Python腳本和代碼的技術(shù),在每種情況下使用的技術(shù)將取決于您的環(huán)境、平臺、需求和技能2023-11-11python使用socket實(shí)現(xiàn)的傳輸demo示例【基于TCP協(xié)議】
這篇文章主要介紹了python使用socket實(shí)現(xiàn)的傳輸demo,結(jié)合實(shí)例形式分析了Python使用socket庫基于TCP協(xié)議實(shí)現(xiàn)的客戶端與服務(wù)器端相關(guān)操作技巧,需要的朋友可以參考下2019-09-09Python 使用SMTP發(fā)送郵件的代碼小結(jié)
python的smtplib提供了一種很方便的途徑發(fā)送電子郵件。它對smtp協(xié)議進(jìn)行了簡單的封裝,需要的朋友可以參考下2016-09-09Python表格數(shù)據(jù)處理庫之tablib庫詳解
這篇文章主要介紹了Python表格數(shù)據(jù)處理庫之tablib庫詳解,Tablib是一個用于處理電子表格數(shù)據(jù)的Python庫,它可以輕松地進(jìn)行數(shù)據(jù)的導(dǎo)入和導(dǎo)出,以及數(shù)據(jù)格式的轉(zhuǎn)換,需要的朋友可以參考下2023-08-08