Contraintes SQL DEFAULTConstraints
La contrainte DEFAULT est utilisée pour insérer une valeur par défaut dans une colonne.
Si aucune autre valeur n'est spécifiée, la valeur par défaut sera ajoutée à tous les nouveaux enregistrements.
Syntaxe
1. Définir une contrainte DEFAULT lors de la création d'une table :
CREATE TABLE 表名 (
列名 数据类型 DEFAULT 默认值
);
2. Ajouter une contrainte DEFAULT à une table existante :
ALTER TABLE 表名 ALTER COLUMN 列名 SET DEFAULT 默认值;
Exemple
1. Définir une contrainte DEFAULT lors de la création d'une table
Exemple
EmployeeID INT PRIMARY KEY,
FirstName VARCHAR(50),
LastName VARCHAR(50),
HireDate DATE DEFAULT GETDATE(), -- La valeur par défaut est la date actuelle
Salary DECIMAL(10, 2) DEFAULT 0.00 -- La valeur par défaut est 0.00
);
2. Ajouter une contrainte DEFAULT à une table existante
ALTER TABLE Employees ALTER COLUMN Salary SET DEFAULT 0.00;
3. Utiliser les valeurs par défaut lors de l'insertion de données
INSERT INTO Employees (EmployeeID, FirstName, LastName) VALUES (1, 'John', 'Doe');
Si aucune valeur n'est fournie pour HireDate et Salary, la base de données utilisera automatiquement les valeurs par défaut.
Supprimer la contrainte DEFAULT
La méthode pour la supprimer diffère selon les bases de données :
1、SQL Server
ALTER TABLE 表名 DROP CONSTRAINT 约束名;
2、MySQL
ALTER TABLE 表名 ALTER COLUMN 列名 DROP DEFAULT;
3、Oracle
ALTER TABLE 表名 MODIFY 列名 DEFAULT NULL;
4、MS Access
ALTER TABLE 表名 ALTER COLUMN 列名 DROP DEFAULT;
Notes
DEFAULTLa valeur de la contrainte doit être compatible avec le type de données de la colonne.Si la colonne est définie comme
NOT NULLet qu'aucune valeur par défaut n'est fournie, vous devez explicitement fournir une valeur lors de l'insertion de données, sinon une erreur sera signalée.La valeur par défaut peut être une constante, une expression ou une fonction (telle que
GETDATE())。
Scénarios applicables
Définir la date actuelle comme valeur par défaut pour une colonne de date.
Définir une valeur initiale pour une colonne numérique (par exemple,
0)。Définir un statut par défaut pour une colonne de statut (par exemple,
'Active')。