TIMESTAMP 类型仅仅是为了兼容SQL 标准,
不建议使用此数据类型,
推荐使用
DATETIME 数据类型。
TIMESTAMP 的格式为
“YYYY-MM-DD HH:MI:SS”
,
支持的范围是
“1970-01-01
08:00:01”到“2038-01-01 00:59:59”。
gbase> CREATE TABLE t (a int,b timestamp DEFAULT
CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, c
timestamp DEFAULT '2013-01-01 00:00:01');
Query OK, 0 rows affected
gbase> SHOW CREATE TABLE t;
+-------+----------------------------------------------------------------+
| Table | Create Table
|
+-------+----------------------------------------------------------------+
| t
| CREATE TABLE "t" (
"a" int(11) DEFAULT NULL,
"b" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON
UPDATE CURRENT_TIMESTAMP,
"c" timestamp NOT NULL DEFAULT '2013-01-01 00:00:01'
) ENGINE=EXPRESS DEFAULT CHARSET=utf8
TABLESPACE='sys_tablespace'
|
+-------+----------------------------------------------------------------+
1 row in set
TIMESTAMP 使用限制
以下限制说明,是针对TIMESTAMP 数据列自动更新时的场景:
使用DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
属性后,TIMESTAMP 列在支持INSERT、UPDATE 以及MERGE 时,它的值自
动更新。创建表时,一个表中可以定义一个或多个TIMESTAMP 列,如果仅定义
1 个,那么DEFAULT CURRENT_TIMESTAMP ON UPDATE
CURRENT_TIMESTAMP 属性在创建时可以不予指定,系统会自动填加。如果需
要定义多列,那么第一个TIMESTAMP 列必须指定DEFAULT
CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 属性,而后面其
GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
637
他TIMESTAMP 列不能指定DEFAULT CURRENT_TIMESTAMP ON UPDATE
CURRENT_TIMESTAMP 属性。