Ключевое слово DEFAULT
В списке VALUES
вместо значения столбца можно использовать ключевое слово DEFAULT
.В этом случае столбец получит значение по умолчанию, указанное при определении целевой таблицы.Если значение по умолчанию для столбца отсутствует, то столбец получит значение NULL
.
Если ключевое слово DEFAULT
указано для столбца, определенного как GENERATED BY DEFAULT AS IDENTITY
, то столбец получит следующее значение идентификации, так как будто этот столбец не был указан в запросе вовсе.
CREATE TABLE cars (
ID INTEGER GENERATED BY DEFAULT AS IDENTITY,
BYYEAR SMALLINT DEFAULT 1990 NOT NULL,
NAME VARCHAR(45),
CONSTRAINT pk_cars PRIMARY KEY (ID)
);
-- в столбец BYYEAR попадёт значение 1990
INSERT INTO cars (byyear, name)
VALUES (DEFAULT, 'Ford Focus');
-- в столбец id попадёт значение 2, как будто мы не указывали значение для id
INSERT INTO cars (id, byyear, name)
VALUES (DEFAULT, 1996, 'Ford Mondeo');