Сделайте так, чтобы существующие строки были уникальными - PullRequest
0 голосов
/ 21 сентября 2018

Есть ли способ заставить существующие строки быть уникальными в столбце перед добавлением уникального ограничения?Я добавляю это ограничение к моей базе данных:

CREATE UNIQUE INDEX customfields_name_org_id_key 
ON CustomFields(name, org_id) 
WHERE deleted IS false;

Но хотел бы сначала найти все случаи, когда это ограничение не будет выполнено, и добавить 1 к имени одной из строк (рекурсивно добавляя еще1, если более двух столбцов, которые сталкиваются).Есть ли способ сделать это в POstgresql?

1 Ответ

0 голосов
/ 21 сентября 2018

Вы бы просто проверили:

select name, org_id, count(*)
from customfields
where not deleted
group by name, org_id
having count(*) > 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...