Я впервые в жизни конвертирую таблицу MySQL в PostgreSQL и сталкиваюсь с традиционной проблемой новичков, связанной с отсутствием auto_increment.
Теперь я Мы выяснили, что решение postgres заключается в использовании последовательности и последующем запросе nextval () этой последовательности в качестве значения по умолчанию при каждой вставке. Я также читал, что тип SERIAL автоматически создает последовательность и первичный ключ, и что nextval () увеличивает счетчик даже при вызове внутри транзакций, чтобы избежать блокировки последовательности.
Я не могу найти решения, так это проблема того, что происходит, когда вы вручную вставляете значения в поле с ограничением UNIQUE или PRIMARY и a nextval () последовательности по умолчанию. Насколько я понимаю, это приводит к сбою команды INSERT, когда последовательность достигает этого значения.
Есть ли простой (или общий) способ исправить это?
Было бы очень полезно четкое объяснение.
] Обновление: если вы чувствуете, что я не должен этого делать, никогда не смогу исправить это или делаю некоторые ошибочные предположения, пожалуйста, не стесняйтесь указывать на них в своих ответах. Прежде всего, скажите, пожалуйста, что делать, чтобы предложить программистам стабильную и надежную базу данных, которая может ' t быть поврежденным простой вставкой (желательно, не скрывая все за хранимыми процедурами)