一个小失误引起的大问题
2012-09-06 14:56
225 查看
今天中午11:30客户找我,部分数据不显示。查了半天程序,无果,只能查数据库了。发现某个字段为null
查新建字段sql,有默认值。仔细研究发现,原来这样:虽然是指定了默认值,但是没人指定不为null
比方说新建EndHour和EndMinute
这样造成一个问题,就是,新建字段前EndHour和EndMinute有的数据,新建字段EndHour和EndMinute后因为没有指定不能为null,则老数据为null,
如下图:
id为4、5、6的是在EndHour和EndMinute没建之前就有的,当EndHour和EndMinute没指定不能为null时,新建EndHour和EndMinute后,都为null
而新插入的是默认值0
如果指定了不能为null,则新老数据都是默认值,新建字段testid,默认值为0,不为null,结果如下
查新建字段sql,有默认值。仔细研究发现,原来这样:虽然是指定了默认值,但是没人指定不为null
比方说新建EndHour和EndMinute
这样造成一个问题,就是,新建字段前EndHour和EndMinute有的数据,新建字段EndHour和EndMinute后因为没有指定不能为null,则老数据为null,
如下图:
id为4、5、6的是在EndHour和EndMinute没建之前就有的,当EndHour和EndMinute没指定不能为null时,新建EndHour和EndMinute后,都为null
而新插入的是默认值0
如果指定了不能为null,则新老数据都是默认值,新建字段testid,默认值为0,不为null,结果如下
相关文章推荐
- 一个超低级的错误引起的大问题
- 一个由Response.Redirect 引起的性能问题的分析
- C语言一个小小的问题引起的对指针的探究。。。
- 一个包冲突引起的问题
- 由一个多线程共享Integer类变量问题引起的。。。
- 一个“引号”引起的血案!外一则编码引起的超诡异问题
- 一个menuconfig 配置引起的致命问题——一生难忘!
- 内存不足引起的SIGKILL:一个缓冲区不断增长问题的定位与解决(解释SIGKILL原因)
- 一个页面使用两次timepicker.js引起的Maximum call stack size exceeded问题解决办法及bug修复
- 一段旧代码,引起的关于OO中一个问题的思考
- Hibernate session.clear()引起的一个问题
- 杀虫纪录:一个OleDb/SqlDb Mapping中SqlDbType.Text引起的问题
- 一个表单提交纠错引起的问题,session在上级页面继承
- 又一个php的error_handler引起的诡异问题
- 一个so库中全局变量未定义引起的问题
- 使用 EntityFramework后把一个对象序列化成json字符串引起循环引用的问题
- 解决一个因Bitmap引起的OOM问题
- 一个由两个长的如此相像的字引起的问题
- 基于同一个Table或者TableViewer创建的Table,创建CheckTableViewer引起问题说明
- 内存不足引起的SIGKILL:一个缓冲区不断增长问题的定位与解决