SQL DEFAULTограничения
Ограничение DEFAULT используется для вставки значения по умолчанию в столбец.
Если другое значение не указано, значение по умолчанию будет добавлено во все новые записи.
Синтаксис
1. Определите ограничение DEFAULT при создании таблицы:
CREATE TABLE 表名 (
列名 数据类型 DEFAULT 默认值
);
2. Добавьте ограничение DEFAULT к существующей таблице:
ALTER TABLE 表名 ALTER COLUMN 列名 SET DEFAULT 默认值;
Пример
1. Определите ограничение DEFAULT при создании таблицы
Пример
EmployeeID INT PRIMARY KEY,
FirstName VARCHAR(50),
LastName VARCHAR(50),
HireDate DATE DEFAULT GETDATE(), -- Значение по умолчанию — текущая дата
Salary DECIMAL(10, 2) DEFAULT 0.00 -- Значение по умолчанию — 0.00
);
2. Добавить ограничение DEFAULT к существующей таблице
ALTER TABLE Employees ALTER COLUMN Salary SET DEFAULT 0.00;
3. Использование значений по умолчанию при вставке данных
INSERT INTO Employees (EmployeeID, FirstName, LastName) VALUES (1, 'John', 'Doe');
Если для HireDate и Salary не указаны значения, база данных автоматически использует значения по умолчанию.
Удаление ограничения DEFAULT
Способ удаления различается в разных базах данных:
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;
Примечания
DEFAULTЗначение ограничения должно быть совместимо с типом данных столбца.Если столбец определён как
NOT NULLи значение по умолчанию не указано, при вставке данных необходимо явно указать значение, иначе будет выдана ошибка.Значением по умолчанию может быть константа, выражение или функция (например,
GETDATE())。
Применимые сценарии
Установите текущую дату в качестве значения по умолчанию для столбца даты.
Установите начальное значение для числового столбца (например,
0)。Установите статус по умолчанию для столбца статуса (например,
'Active')。