Maison >base de données >tutoriel mysql >Comment insérer un objet Python datetime.datetime dans une colonne MySQL DATE ?

Comment insérer un objet Python datetime.datetime dans une colonne MySQL DATE ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-27 03:01:09813parcourir

How to Insert a Python datetime.datetime Object into a MySQL DATE Column?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn