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