我在 Mysql DATE 格式方面遇到了一个有趣的问题。
我有这张表:
| id | int(11) | NO | PRI | NULL | auto_increment |
| file_path | varchar(255) | YES | | NULL | |
| date_export | date | YES | | NULL | |
当我使用日期函数 NOW() 更新行时,日期将按以下格式更新:
'2014-01-23'
但是当我使用另一种日期格式时,例如手写格式,例如:
update backup_conf_allied set date_export='2014-23-01' where file_path='IDF-952584-SW1' ;
date_export 列转换为:
'0000-00-00'
警告表告诉我:
| Warning | 1265 | Data truncated for column 'date_export' at row 3628 |
为什么?日期格式与 NOW() 函数相同。
谢谢。
已发布查询
update backup_conf_allied set `date_export='2014-23-01'` where file_path='IDF-952584-SW1' ;
应该是什么
update backup_conf_allied set `date_export='2014-01-23'` where file_path='IDF-952584-SW1' ;
MySQL 支持 DATE 格式为 'YYYY-MM-DD' ,Year then Month then Date
,所以您正在更新具有错误值的日期列"2014-23-01"
,一年只有 12 个月,您使用的是无效的月份 23,MySQL 正在将其转换为零日期 (0000-00-00)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)