#1292 - 不正确的日期值:'0000-00-00'

新手上路,请多包涵

我引用了许多与我的标题相同的问题,但它们有不同的方法和不同的问题,所以这个问题不是重复的。

我有一个表,其中 column fm_sctrdatedate 类型并且具有默认值 0000-00-00

在此处输入图像描述

通过网站插入工作正常,但是当我尝试通过 phpmyadmin 插入任何值时,出现以下错误。

在此处输入图像描述

Mysql 版本是 5.7.11 。最近我们的服务器已经从 mysqlnd 5.0.12 升级到 5.7.11

这是查询

INSERT INTO `iavlif_fmp_clientquote` (`jm_cqid`, `fmsq_id`, `fmsg_id`,
`fm_sctrdate`, `fm_sctrtime`, `fm_sctbaggage_weight`,
`fm_sctfreight_weight`, `fm_sctpassenger`, `fm_sctinfant`,
`fm_sctinfant_details`, `fm_sctinfant_dob`, `fmtp_id`, `fmtpi_id`,
`jmcnt_id`, `fm_name`, `fm_company`, `fm_email`, `fm_phone`, `fmts_id`,
`jmts_id`, `fm_pax_nbr`, `fm_hours_nbr`, `fmqt_id`, `fmtr_id`,
`fm_sctnotes`, `fm_locdepart`, `fm_locarrive`, `fm_sctconsignment_weight`,
`fm_sctconsignment_dimensions`, `fm_sctconsignment_desc`, `fm_sctdangerous`,
`fm_scturgent`, `fm_sctspecial_instructions`, `fm_sctquote_type`,
`fm_sctwork_type`, `fm_sctreoccuring`, `fm_sctaccommodation`, `fm_sctcar`,
`fm_recdate`, `fm_recenddate`, `fm_recfrequency`, `fm_rectime`,
`fm_medical`, `fm_medical_details`, `fm_user_ip`, `fm_dang_details`,
`fm_sctsubstance`, `fm_sctpurchase_number`, `fm_role_id`, `fm_myrole_id`,
`jm_myrole_id`, `fm_sctwork_point`, `fm_locdepartarrive`, `fm_sctnbr`,
`fm_dateCreated`, `fm_cc`, `fm_gl`, `fm_timeCreated`, `jm_qtid`, `jmtp_id`,
`jmtpi_id`, `jmsg_id`, `jms_id`, `jmsq_id`, `fms_id`, `fmcq_id`) VALUES
(NULL, '1', '1', '0000-00-00', '1', '1', '1', 'sdfasd', 'No',
'sdafdsafdsaf', 'dsfas', 'sdfasd', 'dsafds', '0', 'asdfds', 'sdfasd',
'sdfads', 'sdaf', 'sdaf', 'sdaf', '0', '0', '0', '1sadfasdsda', 'sdfadsf',
'as', 'as', 'as', 'asas', 'asd', 'No', 'No', 'adsfsd', 'eqwrqew', 'qewrqew',
'No', 'No', 'No', '0000-00-00', '0000-00-00', 'ewqr', 'qewrw', 'No', 'eqwr',
'ewqr', 'qewr', '', '', '', '', '', '', '', '0', '0000-00-00', '', '',
'00:00:00.000000', '', '', '', '', '', '', '', NULL)

我们在升级 mysql 后就开始面临这个问题

原文由 urfusion 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 726
2 个回答

该错误是因为根据最新的 MYSQL 5.7 文档可以是严格模式的 sql 模式。

有关更多信息,请阅读 此内容。

希望能帮助到你。

原文由 KuKeC 发布,翻译遵循 CC BY-SA 3.0 许可协议

在查看 MySQL 5.7 的更改后,MySql 停止支持 date / datetime 中的零值。

在日期或日期时间中使用零是不正确的,只需输入 null 而不是零。

原文由 TomerM 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题