SQL DEFAULTRestricciones
La restricción DEFAULT se utiliza para insertar un valor predeterminado en una columna.
Si no se especifica otro valor, el valor predeterminado se agregará a todos los registros nuevos.
Sintaxis
1. Definir la restricción DEFAULT al crear la tabla:
CREATE TABLE 表名 (
列名 数据类型 DEFAULT 默认值
);
2. Agregar la restricción DEFAULT a una tabla existente:
ALTER TABLE 表名 ALTER COLUMN 列名 SET DEFAULT 默认值;
Ejemplo
1. Definir la restricción DEFAULT al crear la tabla
Ejemplo
EmployeeID INT PRIMARY KEY,
FirstName VARCHAR(50),
LastName VARCHAR(50),
HireDate DATE DEFAULT GETDATE(), -- El valor predeterminado es la fecha actual
Salary DECIMAL(10, 2) DEFAULT 0.00 -- El valor predeterminado es 0.00
);
2. Agregar la restricción DEFAULT a una tabla existente
ALTER TABLE Employees ALTER COLUMN Salary SET DEFAULT 0.00;
3. Usar el valor predeterminado al insertar datos
INSERT INTO Employees (EmployeeID, FirstName, LastName) VALUES (1, 'John', 'Doe');
Si no se proporcionan los valores de HireDate y Salary, la base de datos usará automáticamente los valores predeterminados.
Eliminar la restricción DEFAULT
El método de eliminación varía según la base de datos:
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;
Notas
DEFAULTEl valor de la restricción debe ser compatible con el tipo de datos de la columna.Si la columna se define como
NOT NULLy no se proporciona un valor predeterminado, al insertar datos se debe proporcionar el valor explícitamente; de lo contrario, se producirá un error.El valor predeterminado puede ser un valor constante, una expresión o una función (como
GETDATE())。
Escenarios de uso
Establecer la fecha actual como valor predeterminado para una columna de fecha.
Establecer un valor inicial para una columna numérica (como
0)。Establecer un estado predeterminado para una columna de estado (como
'Active')。