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

Php MySQL 5.5自动时间戳更新到当前,php,mysql,sql,phpmyadmin,migration,Php,Mysql,Sql,Phpmyadmin,Migration,因此,当我在数据库中更新数据时,包含列的时间戳会自动更新为当前时间戳,即使我没有传递任何时间戳(不传递null,只是忽略此字段,不将其包含在更新数组中) 我检查了表结构,发现时间戳列设置被设置为“default-CURRENT\u timestamp”和“on update-CURRENT\u timestamp”,但我从未在迁移中编写过类似的语句,也不需要对当前时间戳进行任何自动更新(在创建数据库的我的迁移文件中,只有像$table->timestamp('date');这样的行) 所以这里有

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

我检查了表结构,发现时间戳列设置被设置为“
default-CURRENT\u timestamp”和“on update-CURRENT\u timestamp
”,但我从未在迁移中编写过类似的语句,也不需要对当前时间戳进行任何自动更新(在创建数据库的我的迁移文件中,只有像
$table->timestamp('date');
这样的行)


所以这里有一个问题:应该在迁移文件中写些什么来避免这种情况,为什么会出现这种情况?这是某种MySQL功能,还是MySQL解释被忽略的字段,比如passed null?

我在MySQL文档中找到了解决方案,据说迁移中的任何规范都不等于指定当前的时间戳在默认和更新时,为了避免我的问题,我必须在迁移中指定默认值,而不指定更新属性。 资料来源: