J'ai une colonne existante dans ma base de données SQL Server. J'ai essayé tout ce à quoi je peux penser, mais je ne peux pas obtenir de valeur par défaut à ajouter à la colonne. Ce qui fonctionne dans toutes les autres bases de données est
alter table mytable
alter column mycolumn set default(now()) --mycolumn is a datetime
Comment faire cela dans SQL Server?
L'erreur que j'obtiens pour cette syntaxe exacte est incorrect syntax near the keyword 'set'
Utilisation:
ALTER TABLE dbo.mytable
ADD CONSTRAINT def_mycolumn DEFAULT GETDATE() FOR mycolumn
Pour plus d'informations, voir: tilisation des contraintes par défaut
Si vous souhaitez modifier la valeur par défaut d'une colonne déjà existante. Vous devez d'abord supprimer la contrainte, puis ajouter à nouveau la contrainte comme ci-dessous
ALTER TABLE <TABLE>
DROP CONSTRAINT <CONSTRAINT NAME>
ALTER TABLE <TABLE>
ADD CONSTRAINT <CONSTRAINT NAME> DEFAULT <VALUE> for <COLUMN>
Si vous ne disposez pas des détails de contrainte du tableau, vous pouvez utiliser la requête ci-dessous
sp_helpconstraint <TABLE>