Самое простое решение, которое я могу придумать, - это чтобы ваши требования не диктовали значения первичных ключей (которые должны использоваться только для однозначной идентификации записи).
Я не знаю / не понимаю, почему у вас есть это требование , Но я бы предложил просто продолжить нумерацию и при создании новых записей вычислить, должно ли это быть упражнение типа 1, 2 или 3. Например, 1 => 1, 2 => 2, 3 => 3, 4 => 1 , 5 => 2, 6 => 3, 7 => 1.
Тогда просто: var type = ((id - 1)% 3) + 1; возвращает этот список чисел.