В таком случае использование номера клиента, очевидно, не является уникальным значением, то есть его нельзя использовать в качестве первичного ключа.
Создайте столбец IDENTITY
или используйте GUID
с newsequentialid()
(предпочтительно в качестве поля по умолчанию), чтобы получить уникальный ключ в таблице.
Пример:
Структура вашей базы данных выглядит следующим образом:
- TransactionID (Это новое поле,
uniqueidentifer
с newsequentialid()
в качестве значения по умолчанию)
- Customer_Nr
- Billing_name
- Billing_city
- Billing_amount
- Billing_name
- Billing_city
- Billing_amount
Затем вы должны сделать следующее:
INSERT INTO transactions (Customer_Nr, Billing_name, Billing_city, Billing_amount)
VALUES ('12345', 'Microsoft', 'Seattle', 300);
Как видите, вам не нужно менять код со значениями из-за автоматически сгенерированного (уникального) значения первичного ключа.
Примечание относительно newsequentialid()
заключается в том, что если ваши данные требуют безопасности / конфиденциальности, не используйте newsequentialid()
, так как тривиально угадать последовательности.