首页 >数据库 >mysql教程 >如何在 SQLite 中将时间戳列的默认值设置为当前时间?

如何在 SQLite 中将时间戳列的默认值设置为当前时间?

Patricia Arquette
Patricia Arquette原创
2025-01-04 11:51:35422浏览

How to Set a Timestamp Column's Default Value to the Current Time in SQLite?

使用默认值“现在”创建时间戳列

您在尝试创建包含时间戳列的表时可能遇到错误,具有默认值 DATETIME('now')。当您执行以下语句时:

CREATE TABLE test (
    id INTEGER PRIMARY KEY AUTOINCREMENT, 
    t TIMESTAMP DEFAULT DATETIME('now')
);

您收到错误消息。

解决方案

在 SQLite 版本 3.1.0 及更高版本中,您可以在 DEFAULT 子句中使用 CURRENT_TIMESTAMP。通过这样做,新行将被分配当前 UTC 日期和/或时间的文本表示形式。

CREATE TABLE test (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    t TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

使用 CURRENT_TIMESTAMP 时:

  • CURRENT_TIME:默认格式为“HH:MM:SS”
  • CURRENT_DATE:默认格式为"YYYY-MM-DD"
  • CURRENT_TIMESTAMP:默认格式为“YYYY-MM-DD HH:MM:SS”

以上是如何在 SQLite 中将时间戳列的默认值设置为当前时间?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn