Eingabe eines datetime.datetime-Objekts in MySQL
Beim Versuch, ein datetime.datetime-Objekt in eine Datumsspalte einer MySQL-Tabelle einzufügen, Benutzer stoßen möglicherweise auf den Fehler „TypeError: Bei der Zeichenfolgenformatierung wurden nicht alle Argumente konvertiert“. Die Ursache dieses Fehlers ist die Inkompatibilität zwischen dem datetime.datetime-Objekt und dem Platzhalter „%s“, der normalerweise für Zeichenfolgenwerte verwendet wird.
Um dieses Problem zu beheben, ist es notwendig, datetime.datetime zu formatieren Objekt in einen String umwandeln, der von MySQL erkannt werden kann. Der empfohlene Ansatz besteht darin, die Methode strftime() des Zeitmoduls zu verwenden. So können Sie es machen:
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))
Durch Formatieren des datetime.datetime-Objekts mit strftime() ist die resultierende Zeichenfolge mit der MySQL-Datumsspalte kompatibel. Die Methode strftime() akzeptiert eine bestimmte Formatzeichenfolge, die das gewünschte Ausgabeformat für Datum und Uhrzeit angibt. In diesem Beispiel stellt „%Y-%m-%d %H:%M:%S“ das Format dar: Jahr-Monat-Tag Stunde:Minute:Sekunde. Sie können diese Formatzeichenfolge an Ihre spezifischen Anforderungen anpassen.
Dieser modifizierte Ansatz sollte es Ihnen ermöglichen, datetime.datetime-Objekte erfolgreich und ohne weitere Fehler in Ihre MySQL-Tabelle einzufügen.
Das obige ist der detaillierte Inhalt vonWie füge ich ein Python-datetime.datetime-Objekt in eine MySQL-DATE-Spalte ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!