J'ai une table qui a des milliers de lignes. Puisque la table n'a pas été construite avec la colonne created_at initialement, il n'y a aucun moyen d'obtenir leur horodatage de création. Il est cependant crucial de commencer à obtenir les horodatages pour les lignes futures.
Existe-t-il un moyen d'ajouter une colonne d'horodatage avec la valeur par défaut NOW () afin qu'elle ne remplisse pas les valeurs des lignes précédentes, mais uniquement des futures?
Si je fais la ALTER
requête, elle remplit toutes les lignes avec horodatage:
ALTER TABLE mytable ADD COLUMN created_at TIMESTAMP DEFAULT NOW()
la source
UPDATE
n'est pas nécessaire. Si vous ajoutez une colonne par défaut à une colonne existante , les lignes déjà existantes ne sont pas affectées. La valeur par défaut n'est renseignée que si vous ajoutez la colonne et la valeur par défaut dans la même commande.Par exemple, je vais créer une table appelée
users
comme ci-dessous et donner une colonne nomméedate
une valeur par défautNOW()
Merci
la source
Essayez quelque chose comme: -
en remplaçant
table_name
par le nom de votre table.la source