Timestamp или Datetime с миллисекундной точностью и автоматическим обновлением в строке - MySQL [duplicate]

Это выглядит безумно, но hey it works

List<String> someList = new ArrayList<>(); //has content
someList.forEach(System.out::println);

Это работает. Магия

12
задан Tim Castelijns 15 May 2014 в 07:58
поделиться

1 ответ

В соответствии с документацией по столбцам 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)

Обратитесь к: Инициализация и обновление для TIMESTAMP и DATETIME

17
ответ дан Mauno Vähä 25 August 2018 в 03:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: