Maison > base de données > navicat > Comment définir la valeur par défaut pour datetime dans Navicat

Comment définir la valeur par défaut pour datetime dans Navicat

angryTom
Libérer: 2019-08-10 15:47:37
original
10292 Les gens l'ont consulté

Comment définir la valeur par défaut pour datetime dans Navicat

Lorsque vous utilisez navicat pour concevoir les champs de la table, vous pouvez définir des valeurs par défaut pour les champs. Cependant, les champs de type datetime ne peuvent pas être définis. Expliquons ce problème en détail pour tout le monde.

Tutoriel recommandé : Tutoriel d'introduction à la base de données MySQL

Parce que la valeur par défaut actuelle du champ MySQL ne fonctions de support, donc définir la valeur par défaut sous la forme create_time datetime default now() est impossible. Une alternative consiste à utiliser le type TIMESTAMP au lieu du type DATETIME.

Le type de colonne TIMESTAMP marque automatiquement les opérations INSERT ou UPDATE avec la date et l'heure actuelles. S'il existe plusieurs colonnes TIMESTAMP, seule la première est mise à jour automatiquement.

La mise à jour automatique de la première colonne TIMESTAMP se produit dans l'une des conditions suivantes :

1. La valeur de la colonne n'est pas explicitement spécifiée dans une instruction INSERT ou LOAD DATA INFILE.

2. Les valeurs des colonnes ne sont pas explicitement spécifiées dans une instruction UPDATE et certaines autres colonnes modifient les valeurs. (Notez qu'un UPDATE définissant une colonne sur une valeur qu'elle a déjà n'entraînera pas la mise à jour de la colonne TIMESTAMP, car si vous définissez une colonne sur sa valeur actuelle, MySQL ignore le changement pour des raisons d'efficacité.)

3 .Vous définissez explicitement la colonne TIMESTAMP sur NULL

4. Les colonnes TIMESTAMP autres que la première peuvent également être définies sur la date et l'heure actuelles, définissez simplement la colonne sur NULL ou NOW().

Sélectionnez donc le type de date comme horodatage et autorisez l'espace vide

CREATE TABLE test ( uname varchar(50) NOT NULL,updatetime timestamp NULL DEFAULTCURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Copier après la connexion

Si vous souhaitez opérer sous navicat, définissez le champ sur horodatage, puis écrivez CURRENT_TIMESTAMP comme valeur par défaut

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal