
# 建表时timestamp字段默认值无效
#### 场景描述
客户执行一个建表SQL语句失败，详细SQL语句及报错如下：
```
CREATE TABLE cluster_membership
(
...
session_start TIMESTAMP DEFAULT '1970-01-01 00:00:01',
...
);
```
执行失败，失败原因：ERROR 1067: Invalid default value for 'session_start'
#### 原因分析
关于timestamp字段：TaurusDB会把该字段插入的值从当前时区转换成UTC时间（世界标准时间）存储，查询时，又将其从UTC时间转化为当前时区时间返回
1. timestamp类型字段的时间范围：'1970-01-01 00:00:01' UTC -- '2038-01-19 03:14:07' UTC，详见[官方文档](https://dev.mysql.com/doc/refman/8.0/en/datetime.html)：
2. 使用如下命令，查看当前的时区：
   ```
   show variables like "%zone%";
   ```
   
3. 故障场景中使用的是utc+8时区，如下图，所以timestamp字段默认值需要加8小时才是有效范围，有效支持的范围是从1970-01-01 08:00:01开始。 ![](https://support.huaweicloud.com/trouble-taurusdb/figure/zh-cn_image_0000001928649937.png)
   
 
#### 解决方案
执行命令，修改timestamp字段参数默认值。
```
session_start TIMESTAMP DEFAULT '1970-01-01 08:00:01',
```
