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

#1292 - Incorrect date value: '0000-00-00'

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

我有一个 table,其中 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

就开始面临这个问题

查看 MySQL 5.7 更改后,MySql 停止支持日期/日期时间中的零值。

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

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

有关详细信息,请阅读

希望对您有所帮助。

您有 2 个选择:

  1. Select 下拉列表中的 NULL 以使其保持空白。
  2. Select CURRENT_TIMESTAMP 将当前日期时间设置为默认值。