+ -
当前位置:首页 → 问答吧 → 数据库日期字段随机添加Null值,崩溃了。

数据库日期字段随机添加Null值,崩溃了。

时间:2011-11-11

来源:互联网

公司网站数据库的新闻表有个字段是“发布时间”,程序默认不填写,就是给系统的当前时间。而且不管你更新该条新闻还是怎样,在保存时只要日期字段没值,都会给系统当前日期。但这两天有个奇怪的问题是,这个字段随机出现大量Null值:


我查看了前几天的备份记录,里面没有一个是Null值的。
请问这些值是怎么进去的,服务器昨天停电了。我们是租用整台的独立主机,其他人不可能进去。因为网站前台之前没有判断发布日期字段的值为Null的情况(因为肯定是有的),造成网站涉及到新闻的页面都报错。百度了一下,史上好像还没人出现过这种问题。

我们网站的代码也没更新该字段为Null值的语句。网站是asp.net。

作者: threeperson   发布时间: 2011-11-11

你发布时间格式错误的话是有可能为空的

不过按道理说默认应该是'1900-01-01'这样的格式

作者: fredrickhu   发布时间: 2011-11-11

引用 1 楼 fredrickhu 的回复:

你发布时间格式错误的话是有可能为空的

不过按道理说默认应该是'1900-01-01'这样的格式

日期栏位发布时,是用插件的。直接选择日期的,不可能格式错误。

作者: threeperson   发布时间: 2011-11-11

整张表有上万条记录。很多新闻都是很久发布的了。日期现在也变Null值。现在直接测试发布一条,日期正常。

作者: threeperson   发布时间: 2011-11-11

引用 2 楼 threeperson 的回复:

引用 1 楼 fredrickhu 的回复:

你发布时间格式错误的话是有可能为空的

不过按道理说默认应该是'1900-01-01'这样的格式

日期栏位发布时,是用插件的。直接选择日期的,不可能格式错误。


网络环境变差,丢包了?

作者: OrchidCat   发布时间: 2011-11-11

引用 3 楼 threeperson 的回复:

整张表有上万条记录。很多新闻都是很久发布的了。日期现在也变Null值。现在直接测试发布一条,日期正常。


原有数据变了,应该是有程序动了,或者是人为的了。 

作者: OrchidCat   发布时间: 2011-11-11

引用 5 楼 orchidcat 的回复:

引用 3 楼 threeperson 的回复:

整张表有上万条记录。很多新闻都是很久发布的了。日期现在也变Null值。现在直接测试发布一条,日期正常。


原有数据变了,应该是有程序动了,或者是人为的了。

程序一直是我在维护,没有关于这张表的更新。

作者: threeperson   发布时间: 2011-11-11

字段not null 给默认值

作者: ssp2009   发布时间: 2011-11-11

引用 6 楼 threeperson 的回复:

引用 5 楼 orchidcat 的回复:

引用 3 楼 threeperson 的回复:

整张表有上万条记录。很多新闻都是很久发布的了。日期现在也变Null值。现在直接测试发布一条,日期正常。


原有数据变了,应该是有程序动了,或者是人为的了。

程序一直是我在维护,没有关于这张表的更新。


这...
确实不好找原因了。 先解决现在的问题吧。 
把默认值设上,原有null值就附近的值看看时间,给一个大概时间,把这些数据标记出来,再慢慢查吧。

作者: OrchidCat   发布时间: 2011-11-11

引用 8 楼 orchidcat 的回复:

引用 6 楼 threeperson 的回复:

引用 5 楼 orchidcat 的回复:

引用 3 楼 threeperson 的回复:

整张表有上万条记录。很多新闻都是很久发布的了。日期现在也变Null值。现在直接测试发布一条,日期正常。


原有数据变了,应该是有程序动了,或者是人为的了。

程序一直是我在维护,没有关于这张表的更新。


这...
确实……

已经出现过这种问题了,数据库我有备份,把几天的还原上了。不找出问题,还是会出现。

作者: threeperson   发布时间: 2011-11-11

估計出在程序上,在更新時沒有傳到參

作者: roy_88   发布时间: 2011-11-11

引用 10 楼 roy_88 的回复:

估計出在程序上,在更新時沒有傳到參

我把数据库还原到几天前正常状态。所有日期字段都有值。

出问题后,整张表共有789条数据的日期字段都为Null值,程序有问题,也不会随机更新这么多数据吧。我在SQL查询分析器调出来后,也没发现什么规律,都是随机的。

作者: threeperson   发布时间: 2011-11-11

本地测试又不出问题,无解啊。

作者: threeperson   发布时间: 2011-11-11