Formatage de type dans l'insertion MySQL : objets date et heure
Lorsque vous tentez d'insérer un objet datetime.datetime dans une table MySQL, il se peut rencontrez l'erreur « TypeError : tous les arguments ne sont pas convertis lors du formatage de la chaîne » si vous utilisez des espaces réservés comme %s dans l'instruction d'exécution. Cette erreur se produit car MySQL nécessite un formatage spécifique pour les valeurs de date et d'heure.
Pour insérer correctement un objet datetime.datetime, utilisez l'approche suivante :
Pour l'heure :
import time time_string = time.strftime('%Y-%m-%d %H:%M:%S')
Pour la date :
import datetime date_string = datetime.datetime.now().strftime('%Y-%m-%d')
Puis, dans l'exécution instruction, spécifiez la chaîne d'heure/date en tant que paramètre :
cursor.execute("INSERT INTO table(name, id, datecolumn) VALUES (%s, %s, %s)", ("name", 4, time_string))
L'utilisation de ces méthodes de formatage garantit que la base de données MySQL peut interpréter et stocker correctement les informations de date/heure comme prévu.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!