Drizzle | SQL 时间戳作为默认值
This guide assumes familiarity with:
PostgreSQL
要在 PostgreSQL 中将当前时间戳设置为默认值,可以使用 defaultNow()
方法或带有 now()
函数的 sql
操作符,该函数返回当前日期和时间(带有时区):
mode
选项定义了应用程序中如何处理值。使用 string
模式的值在应用程序中被视为 string
,但在数据库中存储为时间戳。
要在 PostgreSQL 中将 Unix 时间戳设置为默认值,可以使用 sql
操作符和 extract(epoch from now())
函数,该函数返回自 1970-01-01 00:00:00 UTC
以来的秒数:
MySQL
要在 MySQL 中将当前时间戳设置为默认值,可以使用 defaultNow()
方法或带有 now()
函数的 sql
操作符,该函数返回当前日期和时间 (YYYY-MM-DD HH-MM-SS)
:
fsp
选项定义在时间戳中包含的小数秒数。默认值为 0
。
mode
选项定义了应用程序中如何处理值。使用 string
模式的值在应用程序中被视为 string
,但在数据库中存储为时间戳。
要在 MySQL 中将 Unix 时间戳设置为默认值,可以使用 sql
操作符和 unix_timestamp()
函数,该函数返回自 1970-01-01 00:00:00 UTC
以来的秒数:
SQLite
要在 SQLite 中将当前时间戳设置为默认值,可以使用带有 current_timestamp
常量的 sql
操作符,该常量返回当前 UTC 日期和时间的文本表示 (YYYY-MM-DD HH:MM:SS)
:
要在 SQLite 中将 Unix 时间戳设置为默认值,可以使用 sql
操作符和 unixepoch()
函数,该函数返回自 1970-01-01 00:00:00 UTC
以来的秒数:
mode
选项定义了应用程序中如何处理值。在应用程序中,使用 timestamp
和 timestamp_ms
模式的值被视为 Date
对象,但在数据库中存储为整数。
它们之间的区别在于,timestamp
处理秒,而 timestamp_ms
处理毫秒。