Maison >base de données >tutoriel mysql >Comment insérer un objet Python datetime.datetime dans une colonne MySQL DATE ?
Insertion d'un objet datetime.datetime dans MySQL
Lorsque vous tentez d'insérer un objet datetime.datetime dans une colonne de date d'une table MySQL, les utilisateurs peuvent rencontrer une erreur « TypeError : tous les arguments ne sont pas convertis lors du formatage de la chaîne ». La cause de cette erreur est l'incompatibilité entre l'objet datetime.datetime et l'espace réservé '%s', qui est généralement utilisé pour les valeurs de chaîne.
Pour résoudre ce problème, il est nécessaire de formater le datetime.datetime objet dans une chaîne pouvant être reconnue par MySQL. L'approche recommandée consiste à utiliser la méthode strftime() du module time. Voici comment procéder :
import time now = datetime.datetime(2009, 5, 5) mysql_date = time.strftime('%Y-%m-%d %H:%M:%S') cursor.execute("INSERT INTO table (name, id, datecolumn) VALUES (%s, %s, %s)", ("name", 4, mysql_date))
En formatant l'objet datetime.datetime avec strftime(), la chaîne résultante est compatible avec la colonne de date MySQL. La méthode strftime() accepte une chaîne de format spécifique qui spécifie le format de sortie souhaité de la date et de l'heure. Dans cet exemple, '%Y-%m-%d %H:%M:%S' représente le format : année-mois-jour heure:minute:seconde. Vous pouvez ajuster cette chaîne de format en fonction de vos besoins spécifiques.
Cette approche modifiée devrait vous permettre d'insérer avec succès des objets datetime.datetime dans votre table MySQL sans autre erreur.
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!