Убедиться, что столбец Identity не позволяет изменять другое значение - PullRequest
0 голосов
/ 11 октября 2019

У меня есть идентификационный столбец, известный как RowId, который необходим. Однако у меня есть проблема, когда я вижу несколько экземпляров одного и того же RowID 5-10 раз, когда customerNumber изменяется, и это не должно быть разрешено. Например:

  RowID:                   CustomerNumber:
  2556892                  25231564656522
  2556892                  25232264686453

Как я могу убедиться, что моя таблица не позволяет изменять CustomerNumber? Смысл наличия столбца идентификаторов состоит в том, чтобы иметь разные RowId при добавлении значения, такого как новый CustomerNumber. Каким-то образом вместо нового CustomerNumber, получающего новый rowId, он изменяется, и они изменяют CustomerNumber. Как это можно предотвратить?

1 Ответ

2 голосов
/ 11 октября 2019

Похоже, вам нужен новый стол для клиентов:

create table Customers as (
    CustomerId int identity(1, 1) primary key,
    CustomerNumber varchar(20) unique -- or whatever
    -- add more columns about customers
);

Вуаля! У вас есть только один CustomerId за CustomerNumber. Это подходит для отношений с внешним ключом. Затем вы можете удалить CustomerNumber из текущей таблицы, переименовать rowid в CustomerId (что более наглядно) и определить подходящее отношение внешнего ключа.

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