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

2019-01-26 03:17发布

This question already has an answer here:

I referenced many questions which have the same title as mine, but they have a different approach and different issue so this question is not a duplicate.

I have a table in which column fm_sctrdate is a date type and has the default value 0000-00-00.

enter image description here

Insertion by website is working fine but when I try to insert any value by phpmyadmin then I got following error.

enter image description here

Mysql version is 5.7.11. One more thing recently our server has been upgrade from mysqlnd 5.0.12 to 5.7.11.

Here is the query

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)

We started facing this issue just after upgrade of mysql

3条回答
再贱就再见
2楼-- · 2019-01-26 04:04

The error is because of the sql mode which can be strict mode as per latest MYSQL 5.7 documentation.

For more information read this.

Hope it helps.

查看更多
家丑人穷心不美
3楼-- · 2019-01-26 04:13

@user2823136, you wrong.

After reviewing MYSQL 5.7 changes, MYSQL stops supporting zeros value in date / datetime.

It's not correct to use zeros in date or in datetime, just put null instead of zeros.

Thanks

查看更多
Summer. ? 凉城
4楼-- · 2019-01-26 04:15

You have 3 options to make your way:
1. Define a date value like '1970-01-01'
2. Select NULL from the dropdown to keep it blank.
3. Select CURRENT_TIMESTAMP to set current datetime as default value.

查看更多
登录 后发表回答