Heim >Datenbank >MySQL-Tutorial >Wie behebe ich den MySQL-Fehler „Falscher Datum/Uhrzeit-Wert: \'0000-00-00 00:00:00\'\' bei Zeichensatzänderungen?

Wie behebe ich den MySQL-Fehler „Falscher Datum/Uhrzeit-Wert: \'0000-00-00 00:00:00\'\' bei Zeichensatzänderungen?

Barbara Streisand
Barbara StreisandOriginal
2024-11-30 11:20:10441Durchsuche

How to Fix MySQL's

MySQL Falscher Datetime-Wert: '0000-00-00 00:00:00'

Im Bereich der Datenbankentwicklung könnte man das vielleicht tun stoßen Sie auf die verwirrende Fehlermeldung: „Falscher Datum/Uhrzeit-Wert: '0000-00-00 00:00:00'". Dieser Fehler plagt häufig Benutzer, die versuchen, den Zeichensatz ihrer Datenbanktabellen zu ändern, während sie mit widersprüchlichen MySQL-Versionen zu kämpfen haben.

Um dieses Problem zu beheben, schauen wir uns die Schritte an, die Sie bisher unternommen haben:

  1. Datenbank-Setup: Sie haben eine Datenbank von MySQL 5.1 auf MySQL 5.7 migriert und sind auf Folgendes gestoßen Inkompatibilitäten.
  2. Änderung des Standardzeichensatzes: Sie haben versucht, den Zeichensatz einer Spalte von latin1 in utf8 zu ändern.
  3. Datum/Uhrzeit-Fehler: Sie Beim Versuch wurde die Fehlermeldung „Falscher Datum/Uhrzeit-Wert: ‚0000-00-00 00:00:00‘“ angezeigt Ändern Sie die Spalte „Datum/Uhrzeit“.

Um dieses Problem zu beheben, versuchen Sie den folgenden Ansatz:

Schritt 1: Nullwerte überprüfen

Bestätigen Sie, ob In der Datetime-Spalte sind Nullwerte vorhanden. Sie können die folgende Abfrage verwenden:

SELECT count(*) FROM users WHERE created IS NULL;

Wenn Nullwerte vorhanden sind, versuchen Sie, sie mit der folgenden Abfrage auf „1970-01-01 00:00:00“ zu setzen:

UPDATE users SET created = '1970-01-01 00:00:00' WHERE created IS NULL;

Schritt 2: CAST-Funktion verwenden

Wenn keine Nullwerte vorhanden sind, versuchen Sie es mit der CAST-Funktion So konvertieren Sie die Datetime-Spalte in eine Zeichenfolge:

UPDATE users SET created = NULL WHERE CAST(created AS CHAR(20)) = '0000-00-00 00:00:00';

Diese Abfrage sollte alle Werte „0000-00-00 00:00:00“ erfolgreich auf NULL setzen, sodass Sie den Zeichensatz ändern können datetime-Spalte.

Schlussfolgerung

Durch Untersuchung der möglichen Grundursachen des Fehlers und Dieser Artikel bietet Schritt-für-Schritt-Lösungen und soll Ihnen das nötige Wissen vermitteln, um ähnliche Probleme zu lösen, die bei der Arbeit mit MySQL auftreten können.

Das obige ist der detaillierte Inhalt vonWie behebe ich den MySQL-Fehler „Falscher Datum/Uhrzeit-Wert: \'0000-00-00 00:00:00\'\' bei Zeichensatzänderungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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