Python-MySql.Connector更新语句不工作

Python-MySql.Connector更新语句不工作,mysql,python-3.x,mysql-connector-python,Mysql,Python 3.x,Mysql Connector Python,我对MySQL.Connector的UPDATE语句有一些问题 显然,我的代码有时有效,有时无效,我不明白为什么。 我为一行做了一个测试函数,它与我的另一个主函数非常相似 import mysql.connector from datetime import datetime def connect(): return mysql.connector.connect(host="xxxxx.xxx", user="xxx", passwd="xxxxxx", db="xxx")

我对MySQL.Connector的UPDATE语句有一些问题

显然,我的代码有时有效,有时无效,我不明白为什么。 我为一行做了一个测试函数,它与我的另一个主函数非常相似

import mysql.connector
from datetime import datetime

def connect(): 
    return mysql.connector.connect(host="xxxxx.xxx", user="xxx", passwd="xxxxxx", db="xxx")


def test():
    mydb = connect()
    mycursor = mydb.cursor()
    sql = "SELECT MAX(value) FROM test"
    mycursor.execute(sql)
    date = datetime.now().strftime("%d-%m-%Y %H:%M:%S")
    for x in mycursor.fetchall():
        updateSql = "UPDATE test SET date=%s WHERE value=%s"
        vals = (date, x[0])
        mycursor.execute(updateSql, vals)

        mydb.commit()
        print(vals)
        print(mycursor.rowcount)

test()
此代码似乎不起作用,因为打印的行计数值为
0
。 我的
VAL
显示正确:
('12-01-2020 16:47:15','testValue')

但是,数据库上显示的是:
'00-00-0000 00:00:00'

有没有办法解决这个问题

编辑:刚刚找到答案

我使用了错误的格式。
date=datetime.now().strftime(“%d-%m-%Y%H:%m:%S”)
未正确识别

mySql数据库中的DATETIME类型要求格式如下:

date=datetime.now().strftime(“%Y-%m-%d%H:%m:%S”)

年在第一位,月在第二位,日在第三位


如果未遵循此标准,则日期将转换为
0000:00:00:00:00

如果仅使用日期值而不是日期的字符串表示形式进行更新,会发生什么情况?因此,删除
.strftime()
部分并执行以下操作:
date=datetime.now()