Коллекции trainee
Можно ли изменить первичный ключ?
Ответ
Технически — да, через ALTER. Но фактически — нельзя, потому что: (1) на нём FK из других таблиц. (2) Индексы строятся по PK. (3) В кластерных индексах данные физически отсортированы по PK. Операция дорогая и опасная — требует перестройки индексов и обновления связей.
Разбор: Изменить PK технически возможно (ALTER/UPDATE), но на практике это дорого и опасно: на него ссылаются внешние ключи других таблиц, по нему построены индексы, а в кластерном индексе строки физически упорядочены по PK, поэтому смена значения влечёт перестройку. Ловушки: полного запрета нет, автоматического каскадного обновления FK без явного ON UPDATE CASCADE тоже нет, и влияние на индексы и FK как раз ключевая проблема.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.