MySQL 5.5 自动时间戳更新到当前

MySQL 5.5 automatic timestamp update to current

因此,当我在那里更新数据时,我的数据库中包含时间戳的列会自动更新为当前时间戳,即使我没有传递任何时间戳(不传递 null,但是只是忽略此字段,不将其包含在更新数组中)。

我检查了 table 结构并发现时间戳列设置设置为“default - CURRENT_TIMESTAMP" and "on update - CURRENT_TIMESTAMP”,但我从来没有在我的迁移中写过这样的语句,我不需要对当前时间戳的任何自动更新(在我创建数据库的迁移文件中,只有像 $table->timestamp('date'); 这样的行)。

那么问题来了:迁移文件应该写些什么来避免这种情况,为什么会出现这种情况?这是某种 MySQL 功能,还是 MySQL 将忽略的字段解释为传递 null?

好吧,我在 MySQL 文档中找到了解决方案,据说迁移中没有规范等于在默认和更新时指定 current_timestamp,所以为了避免我的问题,我必须指定默认值在迁移中,不指定更新属性。 资料来源:http://dev.mysql.com/doc/refman/5.5/en/timestamp-initialization.html