Server version: 5.5.33-31.1-log Percona Server (GPL), Release rel31.1, Revision 566

mysql> CREATE TABLE `t1` (
`ID` int(11) NOT NULL DEFAULT '1',
`NAME` varchar(10) NOT NULL DEFAULT '',
`CREATE_TIME` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
) ENGINE=InnoDB DEFAULT CHARSET=utf8

mysql> select * from t1;
Empty set (0.00 sec)

mysql> insert into t1 (create_time) values (null);
Query OK, 1 row affected (0.00 sec)

mysql> select * from t1;
+----+------+---------------------+
| ID | NAME | CREATE_TIME |
+----+------+---------------------+
| 1 | | 2015-04-15 17:27:09 |
+----+------+---------------------+
1 row in set (0.00 sec)

从上面实验看,在5.533版本中,create_time虽然定义为not null ,但是实际是能插入null只的,而且自动转换为了current_time。接下来看5.6的操作:
Server version: 5.6.22-71.0-log Percona Server (GPL), Release 71.0, Revision 726

mysql> CREATE TABLE `t1` (
`ID` int(11) NOT NULL DEFAULT '1',
`NAME` varchar(10) NOT NULL DEFAULT '',
`CREATE_TIME` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

mysql> select * from t1;
Empty set (0.00 sec)

mysql> insert into t1 (create_time) values (null);
ERROR 1048 (23000): Column 'CREATE_TIME' cannot be null
mysql> select * from t1;
Empty set (0.00 sec)

直接报错,拦截语句插入。在5.6中是通过开启参数来实现解决这个BUG的。下面是摘自官方文档的描述
With explicit_defaults_for_timestamp enabled, inserting NULL into a TIMESTAMP NOT NULL column now produces an error
(as it already did for other NOT NULL data types), instead of inserting the current timestamp. (Bug #68472, Bug #16394472)

最新文章

  1. GridView 树形结构分组的功能
  2. 2.Linux如何学习
  3. myBatis+SpringMVC+Maven整合
  4. Linux 启动项介绍
  5. Linux Centos7下安装Python
  6. NeHe OpenGL教程 第十二课:显示列表
  7. CentOS中通过stat查看文件的元数据
  8. selenium 一个简单的流程
  9. HDU 5727 Necklace 环排+二分图匹配
  10. 使用int?来确保值类型也可以为null
  11. [转]flume-ng+Kafka+Storm+HDFS 实时系统搭建
  12. jQuery delegate方法实现Ajax请求绑定事件不丢失
  13. Java中的不可变类
  14. Flex中的DataGrid报错(二)
  15. Fragment多重嵌套实现电影,影院展示页
  16. JS显示动态的系统时间--JavaScript基础
  17. Oracle修改字段类型方法小技巧
  18. 错误 frm-40654 记录已经被另一个用户更新,重新查询以查看修改
  19. thymeleaf下拉框从后台动态获取集合数据并回显选中
  20. eMMC基础技术9:分区管理

热门文章

  1. Oracle update或alter表被锁住的问题
  2. 如何修改linux 用户登录后默认目录
  3. leetcode-mid-array-73 set matrix zeros
  4. SQL优化案例
  5. 《JavaScript 高级程序设计》
  6. django小知识
  7. 鸡肋工具-Oracle建表工具
  8. Krypton Suite of .NET WinForms Controls
  9. node+express POST请求
  10. fiddler之简单的接口性能测试