在 SQL Server 中,getdate() 函数设置日期时间列的默认值。 MySQL 为 MySQL 5.x 提供了另一种方法。
5.6.5 版本之前的 MySQL 不支持 DATETIME 列的默认值。但是,您可以使用 TIMESTAMP 数据类型:
CREATE TABLE test ( str VARCHAR(32), ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
这将创建一个带有 ts 列的表,该列会在行插入时自动将默认值设置为当前时间戳。
在 MySQL 5.6.5 及以上版本中,CURRENT_TIMESTAMP 关键字可用于分配默认值到 DATETIME 列:
CREATE TABLE test ( str VARCHAR(32), dt DATETIME DEFAULT CURRENT_TIMESTAMP );
更新: 当对列使用 CURRENT_TIMESTAMP ON 时,它必须始终包含在 UPDATE 语句中。否则,列值将自动更新为当前时间戳。
警告:在 MariaDB 5.5.56 中,在更新记录时指定不带值的 CURRENT_TIMESTAMP 也会将列值重置为当前时间戳。
以上是如何为 MySQL 中的日期时间列设置默认值?的详细内容。更多信息请关注PHP中文网其他相关文章!