尝试向 ALBERGO 表插入数据时,遇到错误消息: “错误代码:1292。第 1 行的‘data_apertura’列的日期值不正确:‘01-05-2012’。”此错误表示查询中指定的日期格式存在问题。
错误代码 1292 与不正确的日期值特别相关。 MySQL 文档指出,在 5.7 及更高版本中不允许使用无效的日期值,例如“0000-00-00 00:00:00”。
要解决此错误,必须修改日期格式以符合 MySQL 5.7 要求。问题在于日期值“01-05-2012”的格式为 dd/mm/yyyy,而不是预期的 yyyy-mm-dd 格式。
要纠正此问题,请找到 my.cnf 文件在您的系统上,通常位于 /etc/mysql/my.cnf。对于 Windows 用户,它通常位于 C:ProgramDataMySQLMySQL Server 8.0my.ini。
编辑文件并导航到 [mysqld] 部分。在此部分中添加以下行:
sql_mode="NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
此修改后的 sql_mode 将允许 MySQL 接受之前无效的日期值,包括“01-05-2012”。
保存更改到 my.cnf 文件,并使用适合您操作系统的命令重新启动 MySQL 服务(例如,对于 Linux,sudo service mysql restart)。
使用修改后的 sql_mode,您现在可以使用更正后的日期格式执行插入查询:
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');
此修改后的查询现在将成功执行,并且不会出现错误代码 1292。
以上是为什么我收到 MySQL 错误代码 1292:日期值不正确?的详细内容。更多信息请关注PHP中文网其他相关文章!