Heim  >  Artikel  >  Datenbank  >  Warum erhalte ich den MySQL-Fehlercode 1292: Falscher Datumswert?

Warum erhalte ich den MySQL-Fehlercode 1292: Falscher Datumswert?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-29 21:48:30182Durchsuche

Why am I getting MySQL Error Code 1292: Incorrect date value?

MySQL-Fehlercode 1292: Analyse und Lösung

Beim Versuch, Daten in die ALBERGO-Tabelle einzufügen, wird eine Fehlermeldung angezeigt: „Fehlercode: 1292. Falscher Datumswert: ‚01-05-2012‘ für Spalte ‚data_apertura‘ in Zeile 1.“ Dieser Fehler weist auf ein Problem mit dem in der Abfrage angegebenen Datumsformat hin.

Den Fehlercode verstehen

Fehlercode 1292 bezieht sich speziell auf falsche Datumswerte. In der MySQL-Dokumentation heißt es, dass ungültige Datumswerte wie „0000-00-00 00:00:00“ in Version 5.7 und höher nicht zulässig sind.

Fehlerbehebung und Lösung

Um diesen Fehler zu beheben, muss das Datumsformat geändert werden, um den MySQL 5.7-Anforderungen zu entsprechen. Das Problem liegt darin, dass der Datumswert „01-05-2012“ das Format TT/MM/JJJJ hat und nicht das erwartete Format JJJJ-MM-TT.

Um dies zu beheben, suchen Sie die Datei my.cnf auf Ihrem System, normalerweise unter /etc/mysql/my.cnf zu finden. Für Windows-Benutzer befindet es sich im Allgemeinen unter C:ProgramDataMySQLMySQL Server 8.0my.ini.

Bearbeiten Sie die Datei und navigieren Sie zum Abschnitt [mysqld]. Fügen Sie in diesem Abschnitt die folgenden Zeilen hinzu:

sql_mode="NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

Dieser geänderte sql_mode ermöglicht es MySQL, Datumswerte zu akzeptieren, die zuvor ungültig waren, einschließlich „01-05-2012“.

Speichern Sie die Änderungen Klicken Sie auf die Datei my.cnf und starten Sie den MySQL-Dienst mit den entsprechenden Befehlen für Ihr Betriebssystem neu (z. B. sudo service mysql restart für Linux).

Aktualisierte Abfrage

Mit dem geänderten sql_mode können Sie jetzt die Einfügeabfrage mit dem korrigierten Datumsformat ausführen:

INSERT INTO `PROGETTO`.`ALBERGO`
(`ID`, `nome`, `viale`, `num_civico`, `data_apertura`, `data_chiusura`, `orario_apertura`, `orario_chiusura`, `posti_liberi`, `costo_intero`, `costo_ridotto`, `stelle`, `telefono`, `mail`, `web`, `Nome-paese`, `Comune`)
VALUES
(0, 'Hotel Centrale', 'Via Passo Rolle', '74', '2012-05-01', '2012-09-31', '06:30', '24:00', 80, 50, 25, 3, '43968083', '[email protected]', 'http://www.hcentrale.it/', 'Trento', 'TN');

Diese geänderte Abfrage wird nun erfolgreich ohne den Fehlercode 1292 ausgeführt.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich den MySQL-Fehlercode 1292: Falscher Datumswert?. 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