小编典典
根据文档timestamp并datetime输入列:
如果TIMESTAMP或DATETIME列定义在任何地方都包含显式的小数秒精度值,则在整个列定义中必须使用相同的值。
这是允许的:
CREATE TABLE t1 (
ts TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE
CURRENT_TIMESTAMP(6)
);
其他例子 :
mysql> create table tbl_so_q23671222_1( ts timestamp(3) default now() );
ERROR 1067 (42000): Invalid default value for 'ts'
mysql> create table tbl_so_q23671222_1( ts timestamp(3) default now(3) );
Query OK, 0 rows affected (0.59 sec)
mysql> create table tbl_so_q23671222_2( ts timestamp(3) default current_timestamp );
ERROR 1067 (42000): Invalid default value for 'ts'
mysql> create table tbl_so_q23671222_2( ts timestamp(3) default current_timestamp(3) );
Query OK, 0 rows affected (0.38 sec)
mysql> desc tbl_so_q23671222_1;
+-------+--------------+------+-----+----------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+----------------------+-------+
| ts | timestamp(3) | NO | | CURRENT_TIMESTAMP(3) | |
+-------+--------------+------+-----+----------------------+-------+
1 row in set (0.01 sec)
mysql> desc tbl_so_q23671222_2;
+-------+--------------+------+-----+----------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+----------------------+-------+
| ts | timestamp(3) | NO | | CURRENT_TIMESTAMP(3) | |
+-------+--------------+------+-----+----------------------+-------+
1 row in set (0.01 sec)
-05-17