MySQL如何启用 explicit_defaults_for_timestamp?
MySQL 是一个广泛使用的关系型数据库管理系统。在 MySQL 中,我们可以通过开启 explicit_defaults_for_timestamp 变量来设定 timestamp 类型列在插入或更新时的默认值。下面介绍如何启用 explicit_defaults_for_timestamp。
阅读更多:MySQL 教程
步骤一:修改 my.cnf 文件
首先需要修改 MySQL 配置文件 my.cnf,打开该文件并找到 [mysqld] 配置节,添加以下内容:
修改完成后保存文件并重启 MySQL 服务。如果 MySQL 是通过二进制文件启动的,则需要使用以下命令来启动:
步骤二:验证是否启用了 explicit_defaults_for_timestamp
我们可以通过以下命令来查看 MySQL 是否启用了 explicit_defaults_for_timestamp 变量:
如果输出结果为以下内容,则说明已经成功启用了该变量:
示例
我们可以使用以下 SQL 语句来创建一个包含 timestamp 类型列的表:
在上述语句中,我们使用了 DEFAULT CURRENT_TIMESTAMP 和 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 语句将 created_at 和 updated_at 列设定为 timestamp 类型,并设置了默认值。
我们可以将数据插入到 test 表中并查看插入的结果:
输出结果如下:
我们可以看到在插入数据时,created_at 和 updated_at 列的默认值均为当前时间。
总结
通过修改 my.cnf 文件,并启用 explicit_defaults_for_timestamp 变量,我们可以在 MySQL 中设定 timestamp 类型列的默认值。这样会使得数据插入和更新操作更加方便。注意,实际运行环境中,需要根据具体需求来决定是否启用该选项。