Нулевые поля? Это что? - PullRequest
       23

Нулевые поля? Это что?

0 голосов
/ 10 февраля 2020

В этом случае мне действительно нужны только столбцы описания на данный момент и столбцы идентификаторов. 1, чтобы сказать системе, как определить статус, а другой описание. Для всех остальных столбцов я предполагаю, что они могут пока оставаться пустыми? Поскольку у меня пока нет значений для обновления зарегистрированных пользователей.

Me getting ready to query said statement.

Ответы [ 4 ]

2 голосов
/ 10 февраля 2020

Итак, я думаю, вы спрашиваете, можете ли вы обновить столбцы, которые определены как null, позже. Ответ - да. Для вашей ситуации вы можете создать таблицу:

create table RecognitionStstusDomain
(
Id int not null
,Description nvarchar(100) not null
,InsertDt datetime
,InsertPartyId int
,UpdateDt datetime
,UpdatePartyId int
);

insert into recognitionststusdomain (Id, Description)
values (1, 'active');

Опять же, насколько я понимаю, вы хотите, чтобы Id и Description были не нулевыми , поскольку вы знаете, какие значения вы хотите, чтобы они быть и хотите обновить другие позже.

Я определил столбцы Id и Description как , не ноль , что заставит вас ввести значение в эти поля. Остальные столбцы содержат пустые значения, и вы сможете обновить их позже. Вам не нужно определять остальные значения как ноль, они будут просто показывать ноль без ввода.

вот ссылка, показывающая, что я сделал и какими будут результаты http://sqlfiddle.com/#! 18 / 8da61 / 1/0

1 голос
/ 10 февраля 2020

ОК, обо всем по порядку. Вы действительно можете выполнить вставку строки, как вы притворяетесь. Ничто не помешает вам вставить пустые значения во всю строку, если вы захотите.

Теперь практическая вещь. Как вы собираетесь извлечь эту строку (позже), чтобы (например) добавить к ней больше информации? Вам понадобится ключ.

Итак, чтобы сделать его практичным, добавьте ключ к этой таблице. Так как вы не хотите указывать его значение, используйте автоматически сгенерированный ключ (автоинкремент или идентификатор по умолчанию / всегда). Таким образом, вы сможете идентифицировать строки, которые вы вставили однозначно.

0 голосов
/ 10 февраля 2020

Если вы не хотите вставлять какое-либо значение в столбец, вы можете оставить это в своем операторе вставки или просто указать значение NULL в этом столбце.

insert into recognationstatusdomain (id, description) values (1, 'active');

ИЛИ

insert into recognationstatusdomain (id, description, insertDt, insertPartyId, updateDt, updatePartyId) values (1, 'active', null, null, null, null);

ИЛИ

insert into recognationstatusdomain values (1, 'active', null, null, null, null);

Если вы назначаете какой-либо столбец первичный ключ или назначаете ограничение NOT NULL, вы не можете вставить NULL значения для этого столбца.

Create Table Table_Name(id int NOT NULL, Name varchar(10))
Insert into Table_Name (id,Name) values(NULL,'Some_Name') --Give you an error
0 голосов
/ 10 февраля 2020

Нулевые поля - это любые столбцы, которые обнуляются .

Они указаны в определении столбца таблицы как «ноль» или «не ноль». Если они обнуляются, вы можете вставить пустые значения в столбец. Эти нули представляют «неизвестное» состояние. INSERT INTO TABLE (myNullableCol) VALUES (NULL), как у вас в вашем изображении, работает отлично.

Если вы попытаетесь вставить ноль в столбец, который не позволяет, SQL не удастся и покажет вам ошибка.

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