Как добавить нулевое значение в столбец внешнего ключа в SQL Server 2008? - PullRequest
0 голосов
/ 31 января 2019

В настоящее время я работаю над приложением Windows Forms, используя C #.У меня есть две таблицы (tblBatch & tblProduct).Эти таблицы связаны друг с другом на основе BatchID.

то есть

-> tblBatch
    BatchID
    BatchName

И

-> tblProduct
    ProductID
    ProductName
    BatchID

Теперь есть две разные ситуации.

  1. Регистрация продукта (добавление определенного элемента в базу данных - количество стеблей может быть пустым, поскольку при этом будет просто зарегистрирован продукт.
  2. Предоставление количества стеблей, обновление количества товара и назначениеbatchNo к продуктам.

На этом этапе batchID должен уже присутствовать в базе данных, прежде чем я назначу его продукту в tblProduct. Поскольку партия продукта не может быть назначенадо поставки продуктов, и, как и на этом этапе, у меня нет каких-либо ресурсов, которые могли бы дать мне представление о текущем batchNo. Поэтому при регистрации продукта я просто хочу присвоить ноль BatchID в tblProduct. Как только поставка будет выполнена позже, я обновлю этот идентификатор и назначу точные BatchID поставляемым предметам.

Однако я получаю следующую ошибку, даже если у меня естьМы пытались оставить поле BatchID пустым в tblProduct, но я все еще не могу добавить запись в базу данных.

Оператор INSERT конфликтовал с ограничением FOREIGN KEY "FK_tblProduct_tblBatch".Конфликт произошел в базе данных «myDB», таблице «dbo.tblBatch», столбце «BatchID».

Есть ли какое-либо решение этой проблемы?Или кто-то предложит мне простой способ решения этой конкретной проблемы.

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