Взял работенку и нарвался на херово спроектированную базу данных. Пытался сделать ALTER TABLE чтобы поле ID получило автоинкремент, который ранее таблице не присвоен. Получаю ошибки типа не может быть такого типа или невозможно выполнить операцию из-за какой-то еще несостыковки. Это из-за чего? Из-за того, что таблица в использовании или из-за того, что индексы уже идут не поп порядку? Есть идеи как решить? Это делает мой код более менее сносным на текущем проекте без костылей.
Задача простенькая. Сделать агрегацию заказов с внешних интернет магазинов на CRM которая использует 2 таблицы для хранения заказа с привязкой ID заказа к ID корзины не очевидным недокументированным образом и не использует автоинкремент по ключевому полю так как было бы должно. Матерюсь и отрыгиваю кислоту в адрес ваятеля, но решить как-то надо и неприятно то, что из-за этой гребаной архитектуры у меня на два SELECT больше чем нужно, чтобы синхронизировать ID.
Может кто знает как ALTER навернуть на такие таблицы, когда они уже заполнены. Автоинкремент там не был присвоен.