Maison > base de données > tutoriel mysql > Comment puis-je définir plusieurs colonnes TIMESTAMP avec CURRENT_TIMESTAMP dans MySQL ?

Comment puis-je définir plusieurs colonnes TIMESTAMP avec CURRENT_TIMESTAMP dans MySQL ?

Mary-Kate Olsen
Libérer: 2024-10-31 03:03:02
original
1006 Les gens l'ont consulté

How Can I Define Multiple TIMESTAMP Columns with CURRENT_TIMESTAMP in MySQL?

Gérer CURRENT_TIMESTAMP dans MySQL pour les opérations de création et de mise à jour

Dans les systèmes de gestion de bases de données relationnelles comme MySQL, la conservation des informations temporelles, par exemple lorsque les enregistrements sont créés ou mis à jour, est cruciale pour l’intégrité des données et le suivi des modifications. MySQL fournit la clause CURRENT_TIMESTAMP pour remplir automatiquement les colonnes TIMESTAMP avec l'heure système actuelle.

Cependant, lorsque vous essayez de définir une table avec plusieurs colonnes TIMESTAMP, chacune avec CURRENT_TIMESTAMP comme valeur par défaut ou lors de la mise à jour, vous pouvez rencontrer le erreur suivante :

ERROR 1293 (HY000): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
Copier après la connexion

Cette erreur vous empêche de créer la table avec le comportement souhaité de colonnes d'horodatage de création et de mise à jour distinctes.

Résolution

Versions récentes de MySQL, tels que MySQL 5.6.25, ont résolu cette limitation. Dans ces versions, il est possible de définir plusieurs colonnes TIMESTAMP avec CURRENT_TIMESTAMP comme valeur par défaut ou en mise à jour.

Par exemple, pour créer une table avec deux colonnes TIMESTAMP, ts_create et ts_update, avec le comportement souhaité :

CREATE TABLE `msgs` (
    `id` INT PRIMARY KEY AUTO_INCREMENT,
    `msg` VARCHAR(256),
    `ts_create` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    `ts_update` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
Copier après la connexion

Cette instruction créera avec succès la table avec les deux colonnes TIMESTAMP, et leurs valeurs seront automatiquement mises à jour avec l'heure actuelle du système lors de la création et de la mise à jour de l'enregistrement, respectivement.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal