BUG引出
之前在公司大部分时间都是在设计数据库,我设计的每张表都会添加create_time
和update_time
这两个datetime类型的字段,在Navicat里每个字段都手贱勾上了根据当前时间戳更新
的这个选项
BUG描述
为什么不建议勾上这个选项呢?勾上这个之后,即使你UPDATE一行数据,没有SET update_time字段,它也会使用当前时间去填充
什么意思呢?比如:
-- 这里我并没有给update_time字段设置now()
UPDATE mytable SET name = '张三'
WHERE id = 1;
经过上面操作你会发现,update_time字段竟然神奇地更新为当前时间!
看下面的图片,我receipt_time、create_time、update_time字段都勾上了根据当前时间戳更新
,然后三个字段都自动填充了当前时间