У меня есть некоторые проблемы с моим оператором UPDATE с MySQL .Connector.
Мой код, видимо, иногда работает, а другие нет, и я не понимаю, почему. Я сделал тестовую функцию для одной строки, которая очень похожа на мою другую основную функцию.
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()
Этот код, похоже, не работает, так как напечатанное значение rowCount равно 0
. Мои vals
отображаются правильно: ('12-01-2020 16:47:15', 'testValue')
Однако в базе данных отображается: '00-00-0000 00:00:00'
. Есть идеи, как это решить?