Можно ли сделать так, чтобы первичные ключи всегда были 1, 2, .., n, даже если вы удалите один из них?

Можно ли создать таблицу с помощью операторов чистого SQL для создания таблицы с первичными ключами, которые автоматически увеличиваются с 1, а также сбрасываются в форму 1, 2, ..., n при удалении?

Например, если в моей таблице cool_dudes есть строки

id    |     name 
------------------------
 1        "John Skeet"
 2        "Douglas Crockford"
 3        "Steve Ballmer"
 4        "Bjarne Stroustrup" 
 5        "Home Simpson"

и я удаляю Стива Балмера, тогда он становится

id    |     name 
------------------------
 1        "John Skeet"
 2        "Douglas Crockford"
 3        "Bjarne Stroustrup"
 4        "Homer Simpson"

и любые таблицы, столбцы которых ссылаются на cool_dudes.id, то эти столбцы обновляются соответствующим образом.


person Community    schedule 26.08.2015    source источник
comment
Зачем? И исправьте все внешние ключи. Это будет очень дорого.   -  person Lukasz Szozda    schedule 26.08.2015
comment
Короткий ответ: да, это возможно. См. Это: stackoverflow.com/ questions / 740358 / Настоящий вопрос в том, зачем вам это нужно.   -  person jpw    schedule 26.08.2015
comment
Не делай этого! Не связывайтесь с автоматически увеличивающимися столбцами! Используйте timestamp для обозначения порядка.   -  person juergen d    schedule 26.08.2015
comment
Это возможно только с триггером. Однако нет причин сбрасывать значения первичных ключей после их создания.   -  person Gordon Linoff    schedule 26.08.2015
comment
Это очень плохая идея. Это возможно, но опять же, как и прыжок с равнины без парашюта ...   -  person Zohar Peled    schedule 26.08.2015