Что означает ноль здесь? - PullRequest
       3

Что означает ноль здесь?

1 голос
/ 15 февраля 2011

Что означает нуль в этом скрипте? Означает ли это, что столбец может иметь нулевые значения, или это означает, что значение по умолчанию столбца равно nul?

    CREATE TABLE product ( product_nbr int NOT NULL,
    product_name varchar(40) NOT NULL,
    product_status_code char(10) NOT NULL,
    start_date date NULL,
    end_date date NULL,
    raw_material_cost decimal(12,2) NULL,
    primary key (product_nbr)
    )

Ответы [ 2 ]

8 голосов
/ 15 февраля 2011

Это означает, что столбец принимает нулевые значения. Это прямая противоположность декларации NOT NULL, которую вы видите для других ваших столбцов, и фактически является декларацией по умолчанию.

Чтобы столбец имел значение по умолчанию NULL, объявление будет DEFAULT NULL. Это, в свою очередь, подразумевает, конечно, что столбец принимает нулевые значения.

2 голосов
/ 15 февраля 2011

Это в основном означает и то и другое, поскольку столбец допускает NULL и для столбца не установлено значение по умолчанию. Если вы вставляете в таблицу и не указываете значение, а для столбца значение по умолчанию отсутствует, это значение будет нулевым (неопределенным). Если для столбца установлено значение NOT NULL и значение по умолчанию отсутствует, вы получите сообщение об ошибке, поскольку столбцу не разрешено быть NULL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...