@Artem0071
Безработный mr. Junior

Как обновить сразу все записи с уникальным ключом?

Сразу пример: https://dbfiddle.uk/rW-6fgQW

Есть некая таблица:
- id
- num
- text

Уникальный ключ по (num, text)
Нужно уметь изменять num на +1 или -1
С -1 никаких проблем нет, а вот с +1 появляются

Я так понимаю, что бд идет по каждой записи и проверяет их по очереди вместе с обновлением
И получается что идя от 0, он сначала апдейтит на -1, которого нет и тд

Можно ли как то сделать сортировку того что нужно обновить перед тем как собственно обновлять записи?
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
@Akina
Сетевой и системный админ, SQL-программист.
create table test(
  id SERIAL PRIMARY KEY,
  num int,
  t text,
  constraint u_constrainte unique (num, t) DEFERRABLE 
)

https://dbfiddle.uk/VuwdSZSH

Можно ли как то сделать сортировку того что нужно обновить перед тем как собственно обновлять записи?

Нет.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы