Mysql日期警告数据被截断

2023-11-23

我在 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(使用前将#替换为@)

Mysql日期警告数据被截断 的相关文章

随机推荐