首页 > 解决方案 > MySQL表中的createdAt字段是否可编辑?

问题描述

我正在使用 mySql 数据库,我看到 createdAt 字段是自动创建的。

我可以修改这个值吗?我希望这个字段不可编辑,就像它被初始化时的常量一样。

如果它是可编辑的,我怎样才能使它不可编辑?

(我正在使用 Sequelizejs)

标签: mysqlnode.jssequelize.js

解决方案


updatedAt并且createdAt默认情况下由 Sequelizejs 自动创建,作为默认值的结果timestamps: true

createdAt 获取插入时间的值,它永远不会自行更新

因此,如果您编写一个查询来更新 createdAt ,它将被更新,并且没有人可以阻止它,

但通常,没有用户传递 updatedAt 和 createdAt 字段,这些字段由 Sequelizejs 自动处理,这就是它应该如何工作的。

不建议,但如果您希望任何字段设为只读,您可以通过模型添加自定义验证或使用PLUGIN


推荐阅读