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.
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.
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).
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!