2017-07-11 1 views
-4

J'essaie de définir CURRENT_TIMESTAMP comme valeur par défaut pour mon type DATE dans phpmyadmin. J'ai d'abord essayé de définir le type DATE, puis le type DATETIME, mais je reçois cette erreur:Impossible de définir l'horodatage actuel par défaut

#1067 - Invalid default value for 'registered_at' 

Alors, comment puis-je configurer l'horodatage en cours en tant que valeur par défaut?

+2

Veuillez nous indiquer le code correspondant. –

+0

Pls partage également la version du serveur mysql. – Shadow

+0

@TimBiegeleisen J'utilise phpMyAdmin – Nemus

Répondre

2

Pour ce faire, vous devez utiliser le serveur MySQL 5.6.5 ou ultérieur. Vous devez également utiliser les types de données TIMESTAMP ou DATETIME. Cela ne fonctionnera pas avec DATE.

L'exemple dans le manuel montre à la fois TIMESTAMP et DATETIME:

CREATE TABLE t1 (
    ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP, 
    dt DATETIME DEFAULT CURRENT_TIMESTAMP 
); 

Si vous avez une version antérieure de MySQL Server, vous devez utiliser les données TIMESTAMP de type uniquement. Cela ne fonctionnera pas avec DATETIME.

Lire https://dev.mysql.com/doc/refman/5.6/en/timestamp-initialization.html pour plus d'informations.