Heim > Datenbank > MySQL-Tutorial > Wie behebt man den MySQL-Fehler 1292: Falscher Datetime-Wert während der Tabellenänderung?

Wie behebt man den MySQL-Fehler 1292: Falscher Datetime-Wert während der Tabellenänderung?

DDD
Freigeben: 2024-11-27 16:46:11
Original
856 Leute haben es durchsucht

How to Resolve MySQL Error 1292: Incorrect Datetime Value During Table Alteration?

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:

  1. Überprüfen Sie, ob Zeilen mit dem ungültigen Datums-/Uhrzeitwert vorhanden sind:
SELECT * FROM users WHERE created = '0000-00-00 00:00:00';
Nach dem Login kopieren
  1. Versuchen Sie, den ungültigen Wert zu aktualisieren Werte mithilfe der CAST-Funktion auf NULL setzen:
UPDATE users SET created = NULL WHERE CAST(created AS CHAR(20)) = '0000-00-00 00:00:00';
Nach dem Login kopieren
  1. Sobald die ungültigen Werte aktualisiert wurden, Sie können mit der beabsichtigten Änderung fortfahren:
ALTER TABLE users MODIFY first_name varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage