Что означает значение после TIMESTAMP в определении столбца? - PullRequest
0 голосов
/ 06 июня 2019

Я создал несколько таблиц MySQL через phpMyAdmin.Затем я заметил, что в определениях таблиц к некоторым столбцам TIMESTAMP добавлено значение:

timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6)

Что это значит и какое значение следует использовать?

Ответы [ 2 ]

0 голосов
/ 06 июня 2019

Значение после типа определяет часть доли секунды. Цитировать документацию :

MySQL 8.0 поддерживает доли секунды для TIME, DATETIME и TIMESTAMP значения с точностью до микросекунд (6 цифр):

Чтобы определить столбец, который включает в себя доли долей секунд, используйте синтаксис имя-типа (fsp) , где имя-типа равно TIME, DATETIME или TIMESTAMP и fsp - это точность долей секунды. Например:

CREATE TABLE t1 (t TIME(3), dt DATETIME(6));

Значение fsp , если оно задано, должно находиться в диапазоне от 0 до 6. Значение 0 означает, что нет дробной части. Если опущено, по умолчанию точность равна 0. (Это отличается от стандартного SQL по умолчанию 6, для совместимость с предыдущими версиями MySQL.)

Поэтому, чтобы определить столбец отметки времени с точностью до секунды, вы должны указать ненулевое значение.

0 голосов
/ 06 июня 2019

Этот синтаксис предназначен для точности с долей секунды, см. Справочное руководство:

https://dev.mysql.com/doc/refman/8.0/en/fractional-seconds.html

В MySQL 8.0 есть поддержка долей секунд для значений TIME, DATETIME и TIMESTAMP с точностью до микросекунд(6 цифр) точность

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...