Это выглядит безумно, но hey it works
List<String> someList = new ArrayList<>(); //has content
someList.forEach(System.out::println);
Это работает. Магия
В соответствии с документацией по столбцам timestamp
и datetime
:
Если определение столбца
TIMESTAMP
илиDATETIME
включает в себя точное значение точности дробной секунды в любом месте, одно и то же значение должно использоваться во всем определении столбца.Это разрешено:
blockquote>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