Re: Want records to be UNIQUE. When searching for dupes, stop onfirst matching record.

Поиск
Список
Период
Сортировка
От Pól Ua Laoínecháin
Тема Re: Want records to be UNIQUE. When searching for dupes, stop onfirst matching record.
Дата
Msg-id CAF4RT5TT7Vc4oUj8n7XtDiOnfRsB4eZLYQ634wPSo2P5dLpCdg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Want records to be UNIQUE. When searching for dupes, stop onfirst matching record.  ("David G. Johnston" <david.g.johnston@gmail.com>)
Список pgsql-novice
Hi,

Le jeu. 18 avr. 2019 à 22:41, David G. Johnston
<david.g.johnston@gmail.com> a écrit :

> Create a unique index over user_id, article_id on the test_article table.
> The system will never allow a duplicate to be inserted in the first place.

I know this and, indeed, I could have done it. But, the real thrust of
my question is how do I "drop out" of the query after finding the
first matching record. Putting indexes to the side - it's more of an
SQL question than just adding an index.

> That said your query is overly complicated...
> SELECT user_id, article_id
> FROM test_article
> GROUP BY user_id, article_id
> HAVING count(*) > 1

Sorry  - the "WHERE 1 = (SELECT 1)" was just something I was testing
to get plans to be more complicated.
Forget that bit. Should have proofed better! :-(


> A where clause is optional and the composite and count in the select list aren't really needed
> unless you have some other unstated requirement for them.

What I want to know is as above - once I find one match - that's it,
all bets are off, there's no point in looking any further. A dupe
means that my previous attempt to insert UNIQUE records failed - I'd
like to be told of that sooner rather than later.


Thanks for your input!

Rgs,

Pól...

> David J.



В списке pgsql-novice по дате отправления:

Предыдущее
От: "David G. Johnston"
Дата:
Сообщение: Re: Want records to be UNIQUE. When searching for dupes, stop onfirst matching record.
Следующее
От: Peter Geoghegan
Дата:
Сообщение: Re: Want records to be UNIQUE. When searching for dupes, stop onfirst matching record.