SQL Ready | Программирование

@sql_ready
Фото Как выполнять сложные data-миграции, не ломая UNIQUE-ограничения? Иногда нужно массово менять данные, временно нарушая UNIQUE, но итоговое состояние корректно: BEGIN; Включаем отложенную проверку конкретного ограничения, оно проверится только при COMMIT: SET CONSTRAINTS users_email_uniq DEFERRED; Теперь можно выполнять UPDATE/INSERT, даже если в процессе появляются дубликаты: UPDATE users SET email = lower(email); Фиксация происходит один раз, если финальное состояние валидно, транзакция коммитится: COMMIT; Если уникальность нарушена в конце будет ROLLBACK, без частичных изменений. Отложенные ограничения позволяют безопасно менять данные внутри транзакции, сохраняя целостность и контроль без временного снятия UNIQUE. SQL Ready | #совет
Если у вас установлено приложение,
вы можете сразу перейти в канал