Почему ограничение NOT NULL может быть добавлено только в COLUMN LEVEL и ALTER LEVEL, почему мы не можем добавить в TABLE LEVEL?

Я попытался с помощью команды alter, и это будет похоже на ALTER TABLE MODIFY NOT NULL; и работает так, почему мы не можем добавить на уровне таблицы, например (CREATE TABLE (COL1 DATATYPE(SIZE),COL2 DATATYPE(SIZE), CONSTRAINT TN_COL1_NN NOT NULL(COL1));?

1 ответ

Решение

Я хотел сказать, например, что ограничение первичного ключа может быть добавлено на трех уровнях (COLUMN,TABLE AND ALTER). Точно так же мы можем добавить ВСЕ остальные ограничения на трех уровнях, почему мы не можем добавить NOT NULL?

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

-- when you define/create the table
CREATE TABLE MyTable (Name VARCHAR(100) NOT NULL)

-- when you add a new column to an existing table
ALTER MyTable ADD Title VARCHAR(100) NOT NULL

-- when you alter an existing column on an existing table
ALTER MyTable ALTER COLUMN Title VARCHAR(100) NOT NULL

Если вы хотите разрешить нулевые значения в любом из вышеперечисленных, удалите слово NOT,

Другие вопросы по тегам