J'ai deux colonnes dans la table users à savoir registerDate and lastVisitDate
qui se compose du type de données datetime. Je voudrais faire ce qui suit.
- Définir la valeur par défaut de registerDate à MySQL NOW()
- Définir la valeur par défaut de lastVisitDate à
0000-00-00 00:00:00
Au lieu de null qu'il utilise par défaut.
Comme la table existe déjà et qu'il y a des enregistrements existants, je voudrais utiliser Modify table. J'ai essayé d'utiliser les deux morceaux de code ci-dessous, mais aucun ne fonctionne.
ALTER TABLE users MODIFY registerDate datetime DEFAULT NOW()
ALTER TABLE users MODIFY registerDate datetime DEFAULT CURRENT_TIMESTAMP;
Cela me donne l'erreur : ERROR 1067 (42000): Invalid default value for 'registerDate'
Est-il possible pour moi de définir la valeur par défaut du temps de date à NOW() dans MySQL ?
4 votes
ALTER TABLE users MODIFY dateTime timestamp default CURRENT_TIMESTAMP
. Vous n'avez pas défini ledata type
de terrain dans vos deux efforts5 votes
Depuis MySQL 5.6
DATE
devrait fonctionner avec la valeur par défautNOW()
1 votes
Selon cette documentation mysql 5.6 : dev.mysql.com/doc/refman/5.6/fr/data-type-defaults.html vous pouvez utiliser CURRENT_TIMESTAMP() par défaut.
1 votes
Comment mettre en œuvre CURRENT_TIMESTAMP + 1 DAY ?