相关疑难解决方法(0)

日期时间值不正确数据库错误号:1292

不正确的日期时间值0000-00-0000:00:00 +0000数据库错误号码:1292

大家好,我有一个问题,我的托管公司完成了服务器升级,我正在努力了解发生了什么,所以我可以解决问题

我的服务器最近已升级到服务器版本:5.6.17并且我在整个地方收到错误,说我的日期时间值不正确?

它似乎是在日期时间结束时添加+0000但我不知道为什么.这曾经在5.5上运行得很好但是最近的升级影响了我的时间戳的工作方式

Error Number: 1292

Incorrect datetime value: '2014-04-02 08:49:43 +0000' for column 'created' at row 1

INSERT INTO `activitylog` (`tablename`, `row`, `user_id`, `description`, `action`, `private`,`created`) VALUES ('user', '1', '1', 'People', 'Updated', 0, '2014-04-02 08:49:43 +0000')
Run Code Online (Sandbox Code Playgroud)

如果我在没有+0000的情况下修改这个sql查询,它有效吗?

它影响我桌子上任何类型的DATETIME.

有没有其他人有类似的问题,现在解决方案是让它工作.目前,我需要更改所有PHP函数以回显日期/时间,而不是在查询字符串上调用NOW()

php mysql database datetime

24
推荐指数
6
解决办法
6万
查看次数

从MySQL日期字段中阻止'0000-00-00'

我有一个数据库,旧代码喜欢在Date和DateTime列中插入'0000-00-00'而不是实际日期.所以我有以下两个问题:

  1. 有什么我可以在db级别上阻止这个吗?我知道我可以将列设置为非null,但这似乎不会阻止这些零值.
  2. 检测日期字段中现有零值的最佳方法是什么?我有大约一百个表,每个表有2-3个日期列,我不想单独查询它们.

跟进:

默认值已设置为null.很久以前,默认是'0000-00-00'.一些代码仍然明确地放置'0000-00-00'.我宁愿强制该代码抛出错误,以便我可以隔离并删除它.

mysql datetime date data-cleaning

10
推荐指数
2
解决办法
9962
查看次数

需要针对MySQL的JDBC解决方案错误的日期时间值错误

在尝试将记录插入某个表时,我收到如下错误:

数据截断:日期时间值不正确:第1行的'deleted_at'列''00:00:00'

搜索我发现以下问题非常有见地:

但由于以下原因,我不能采取这些答案中给出的任何解决方案:

  • 使用此处此处提到的任何其他JAR (虽然这不是maven项目)不是一种选择.我必须使用同一个罐子.
  • 除了'0000-00-00 00:00:00'之外,我不能使用该字段deleted_at.显然,有一个针对此的检查.你看,最初,delete_at日期不能设置(我会用一个标志就好is_deleted.如果有更好的方法请告诉我).
  • 而改变MySQL配置不是像这里提到的那样.他做了很好的解释.我认为这是主要问题.

至于您遇到此问题的原因,可能是您的会话的sql_mode设置包括NO_ZERO_DATES.

我(遗憾地)对这些事情没有多少控制权,因为我不是唯一一个参与这个项目的人.为了让您了解该项目,这就是我收到错误的方法.

在此输入图像描述

他们不使用任何日志记录.希望你能得到这张照片.

所以,考虑到我所约束的约束,除了上面给出的解决方案之外,还有一种方法可以插入'0000-00-00 00:00:00'(我希望可能在JDBC中使用某些东西).

MySQL服务器版本:5.7.12-0ubuntu1

java mysql datetime jdbc

4
推荐指数
1
解决办法
2478
查看次数

标签 统计

datetime ×3

mysql ×3

data-cleaning ×1

database ×1

date ×1

java ×1

jdbc ×1

php ×1