Skip to content

适用虚谷数据库版本

v12.10.8



适用虚谷数据库版本

v12.10.8


是否启用 Timestamp 类型插入时自动填充(auto_set_timestamp)

📄字数 885
👁️阅读量 加载中...

引入版本

v12.10.2

功能描述

开启该参数,TIMESTAMP 数据类型的字段若无默认值且不显式指定值,则使用当前系统时间。

参数属性

属性属性值
参数类型BOOLEAN
默认值TRUE
取值范围TRUE,FALSE
影响范围系统级
修改方式在线修改,立即生效

使用场景说明

  1. 该参数控制 TIMESTAMP 数据类型字段的取值行为。
auto_set_timestampTIMESTAMP 数据类型的字段在无默认值且不显式指定值情况下的取值
TRUE当前系统时间
FALSENULL

注意

  1. 定义表字段时若显式指定了 DEFAULT ON NULL FOR INSERT AND UPDATE NULL,则向该字段插入/更新 NULL 值,其行为受 auto_set_timestamp 影响。

示例

  • 在线修改 auto_set_timestamp
sql
-- 在线修改 auto_set_timestamp
SQL> SET auto_set_timestamp TO true;

-- 在线查看 auto_set_timestamp
SQL> SHOW auto_set_timestamp;

/*
 * 场景一:
 *   1. auto_set_timestamp = true;
 *   2. 字段未定义缺省默认值;
 */
SQL> CREATE TABLE t1(c1 timestamp);
SQL> INSERT INTO t1 VALUES(DEFAULT);
SQL> SELECT c1 FROM t1;  /* 结果集为当前系统时间 */

/*
 * 场景二:
 *   1. auto_set_timestamp = true;
 *   2. 字段定义了缺省默认值;
 */
SQL> CREATE TABLE t1(c1 timestamp DEFAULT '2000-01-01 00:00:00');
SQL> INSERT INTO t1 VALUES(DEFAULT);
SQL> SELECT c1 FROM t1;  /* '2000-01-01 00:00:00' */

/*
 * 场景三:
 *   1. auto_set_timestamp = false;
 *   2. 字段未定义缺省默认值;
 */
SQL> CREATE TABLE t1(c1 timestamp);
SQL> INSERT INTO t1 VALUES(DEFAULT);
SQL> SELECT c1 FROM t1;  /* 结果集字段值为 NULL */