Mysql
 sql >> Base de données >  >> RDS >> Mysql

Définir une colonne comme horodatage dans MySql Workbench ?

MODIFIER

Depuis MySQL 5.6.4, le type de données TIMESTAMP(n) spécifie n (0 à 6) chiffres décimaux de précision pour les fractions de secondes.

Avant MySQL 5.6, MySQL ne prenait pas en charge les fractions de secondes stockées dans le cadre d'un TIMESTAMP type de données.

Référence :https://dev.mysql.com/doc /refman/5.6/en/fractional-seconds.html

Nous n'avons pas besoin de spécifier un modificateur de longueur sur un TIMESTAMP . Nous pouvons simplement spécifier TIMESTAMP par lui-même.

Mais sachez que le premier TIMESTAMP colonne définie dans la table est soumise à une initialisation et à une mise à jour automatiques. Par exemple :

create table foo (id int, ts timestamp, val varchar(2));

show create table foo; 

CREATE TABLE `foo` (
`id` INT(11) DEFAULT NULL,
`ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`val` VARCHAR(2) DEFAULT NULL
) 

Ce qui se passe entre parenthèses après un type de données dépend du type de données, mais pour certains types de données, c'est un modificateur de longueur.

Pour certains types de données, le modificateur de longueur affecte la longueur maximale des valeurs pouvant être stockées. Par exemple, VARCHAR(20) permet de stocker jusqu'à 20 caractères. Et DECIMAL(10,6) permet des valeurs numériques avec quatre chiffres avant la virgule décimale et six après, et une plage effective de -9999,999999 à 9999,999999.

Pour les autres types, le modificateur de longueur n'affecte pas la plage de valeurs pouvant être stockées. Par exemple, INT(4) et INT(10) sont tous deux entiers, et les deux peuvent stocker la plage complète de valeurs autorisées pour le type de données entier.

Ce que fait ce modificateur de longueur dans ce cas est simplement informatif. Il spécifie essentiellement une largeur d'affichage recommandée. Un client peut s'en servir pour déterminer l'espace à réserver sur une ligne pour afficher les valeurs de la colonne. Un client n'est pas obligé de le faire, mais cette information est disponible.

MODIFIER

Un modificateur de longueur n'est plus accepté pour le TIMESTAMP Type de données. (Si vous utilisez une très ancienne version de MySQL et qu'elle est acceptée, elle sera ignorée.)