Mysql date warning data truncated

血红的双手。 提交于 2019-12-04 03:23:14

问题


I'm having an interesting issue with Mysql DATE format. I have this table :

| id          | int(11)      | NO   | PRI | NULL    | auto_increment |
| file_path   | varchar(255) | YES  |     | NULL    |                |
| date_export | date         | YES  |     | NULL    |                |

When i'm updating a row using the date function : NOW(), the date is updated with this format :

'2014-01-23'

But when i'm using another date format, like hand-written one like :

update backup_conf_allied set date_export='2014-23-01' where file_path='IDF-952584-SW1' ;

The date_export column transforms into :

'0000-00-00'

Warning table tells me that :

| Warning | 1265 | Data truncated for column 'date_export' at row 3628 |

Why? The date format is the same as NOW() function. Thanks.


回答1:


Posted query

update backup_conf_allied set `date_export='2014-23-01'` where file_path='IDF-952584-SW1' ;

What it should be

update backup_conf_allied set `date_export='2014-01-23'` where file_path='IDF-952584-SW1' ;

MySQL Support DATE format as 'YYYY-MM-DD' , Year then Month then Date, So you are updating a Date column with wrong value "2014-23-01" , There are only 12 months in year, you are using month 23 which is invalid that's MySQL is converting it to ZERO DATE (0000-00-00)




回答2:


I had a similar problem recently, my issue was that I was trying to upload a datetime object as a date object. Although that's not the same issue that Gui O was having, if you run into this, make sure that you're actually trying to upload a date object.



来源:https://stackoverflow.com/questions/21305092/mysql-date-warning-data-truncated

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!