Lors de la tentative d'insertion de données dans la table ALBERGO, un message d'erreur s'affiche : "Code d'erreur : 1292. Valeur de date incorrecte : '01-05-2012' pour la colonne 'data_apertura' à la ligne 1." Cette erreur indique un problème avec le format de date spécifié dans la requête.
Le code d'erreur 1292 est spécifiquement lié à des valeurs de date incorrectes. La documentation MySQL indique que les valeurs de date non valides telles que « 0000-00-00 00:00:00 » ne sont pas autorisées dans la version 5.7 et supérieure.
Pour résoudre cette erreur, le format de date doit être modifié pour respecter les exigences de MySQL 5.7. Le problème réside dans le fait que la valeur de date '01-05-2012' est au format jj/mm/aaaa plutôt que le format attendu aaaa-mm-jj.
Pour rectifier cela, localisez le fichier my.cnf sur votre système, généralement trouvé dans /etc/mysql/my.cnf. Pour les utilisateurs Windows, il se trouve généralement dans C:ProgramDataMySQLMySQL Server 8.0my.ini.
Modifiez le fichier et accédez à la section [mysqld]. Ajoutez les lignes suivantes dans cette section :
sql_mode="NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
Ce sql_mode modifié permettra à MySQL d'accepter des valeurs de date qui n'étaient pas valides auparavant, y compris « 01-05-2012 ».
Enregistrez les modifications au fichier my.cnf et redémarrez le service MySQL à l'aide des commandes appropriées pour votre système d'exploitation (par exemple, sudo service mysql restart pour Linux).
Avec le sql_mode modifié, vous pouvez désormais exécuter la requête d'insertion avec le format de date corrigé :
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');
Cette requête modifiée s'exécutera désormais avec succès sans le code d'erreur 1292.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!