Mysql日期警告数据被截断

标签 mysql date format warnings

我在使用 Mysql DATE 格式时遇到了一个有趣的问题。 我有这张 table :

| 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 Support DATE format as 'YYYY-MM-DD' , Year then Month then Date, 所以你用错误的值更新 Date 列 "2014-23-01",一年只有 12 个月,您使用的是无效的 23 月,MySQL 正在将其转换为零日期 (0000-00-00)

关于Mysql日期警告数据被截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21305092/

相关文章:

php - 需要模型数据库类 (PHP/MySQL)

来自 12 小时格式日期和时间字符串的 JavaScript 新日期

xml - 无效的 XML 文件?

java - 如何在 SQL 资源查询中使用格式字符串

mysql - (SQL) 联合与附加数据的组合

mysql - 将数据从 MSSQL 迁移到 MySQL

php - Laravel 4 中的列歧义错误

arrays - 使用月份过滤数组(具有 "Date"成员)

linux - 一个月中每一天的两次之间的日期值

ruby-on-rails-3 - cucumber "--format progress"不起作用