Heim >Datenbank >MySQL-Tutorial >Wie behebt man den MySQL-Fehler 1292: Falscher Datetime-Wert während der Tabellenänderung?
MySQL-Fehler 1292: Falscher Datetime-Wert
In MySQL kann der Versuch, den Datentyp oder Zeichensatz einer Tabelle zu ändern, zur Meldung „Falsch“ führen Fehler „Datum/Uhrzeit-Wert“. Dieses Szenario tritt auf, wenn vorhandene Daten mit dem neuen Datentyp oder der neuen Codierung in Konflikt stehen.
Beim Importieren von Daten aus einer Datenbank mit dem Zeichensatz latin1 in MySQL 5.7, das UTF-8 verwendet, kann dieser Fehler auftreten wenn versucht wird, bestimmte Spalten zu ändern.
Insbesondere, wenn eine Datum/Uhrzeit-Spalte den ungültigen Wert „0000-00-00 00:00:00“ enthält, Sie könnten mit diesem Problem konfrontiert sein. Um das Problem zu beheben, versuchen Sie die folgenden Schritte:
SELECT * FROM users WHERE created = '0000-00-00 00:00:00';
UPDATE users SET created = NULL WHERE CAST(created AS CHAR(20)) = '0000-00-00 00:00:00';
ALTER TABLE users MODIFY first_name varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;
Es ist wichtig zu beachten, dass Sie mit der CAST-Funktion den Datum/Uhrzeit-Wert in eine Zeichenfolge konvertieren können, die dann mit dem ungültigen Wert verglichen und aktualisiert werden kann auf NULL setzen, ohne den Fehler auszulösen.
Das obige ist der detaillierte Inhalt vonWie behebt man den MySQL-Fehler 1292: Falscher Datetime-Wert während der Tabellenänderung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!