postgresql: could not create unique index
mk - 28-07-2007 00:01
postgresql: could not create unique index
witam
Baza PostgreSql Zapuszczam skrypt sql i dostaję taki komunikat o błędzie:
NOTICE: ALTER TABLE / ADD UNIQUE will create implicit index "nazwa_indeksu" for table "nazwa_tabeli" KONTEKST: SQL statement "ALTER TABLE moja.produ ADD CONSTRAINT UQ_uzyt UNIQUE (pro_ID, kat_ID, UZYT_ID) USING INDEX TABLESPACE prod_i" PL/pgSQL function "dodajunique" line 10 at execute statement
ERROR: could not create unique index Stan SQL:23505 Szczegóły:Table contains duplicated values.
Gdzie szukać przyczyny, czy to chodzi o jakieś zdublowane wiersze, gdzie ich szukać, ten komunikat coś mówi na ten temat?
pozdr. mk
P.S. Sorki ale się uczę, samego skryptu nie za bardzo mogę udostępnić.
hubert depesz lubaczewski - 28-07-2007 00:01
Dnia 27.07.2007 mk <niepodaje@jakcostogg1580752.pl> napisał/a: > NOTICE: ALTER TABLE / ADD UNIQUE will create implicit index > "nazwa_indeksu" for table "nazwa_tabeli" > KONTEKST: SQL statement "ALTER TABLE moja.produ ADD CONSTRAINT UQ_uzyt > UNIQUE (pro_ID, kat_ID, UZYT_ID) USING INDEX TABLESPACE prod_i" > PL/pgSQL function "dodajunique" line 10 at execute statement > ERROR: could not create unique index > Stan SQL:23505 > Szczegóły:Table contains duplicated values. > Gdzie szukać przyczyny, czy to chodzi o jakieś zdublowane wiersze, gdzie > ich szukać, ten komunikat coś mówi na ten temat?
mówi, że masz zdublowane wartości: Szczegóły:Table contains duplicated values.
jak je znaleźć: select pro_ID, kat_ID, UZYT_ID, count(*) from moja.produ group by pro_ID, kat_ID, UZYT_ID having count(*) > 1;
depesz
-- quicksil1er: "postgres is excellent, but like any DB it requires a highly paid DBA. here's my CV!" :) http://www.depesz.com/ - blog dla ciebie (i moje CV)
=?ISO-8859-2?Q?Adam_P=B3aszczyca?= - 28-07-2007 00:01
On Fri, 27 Jul 2007 12:50:11 +0200, mk <niepodaje@jakcostogg1580752.pl> wrote:
>NOTICE: ALTER TABLE / ADD UNIQUE will create implicit index >"nazwa_indeksu" for table "nazwa_tabeli" >KONTEKST: SQL statement "ALTER TABLE moja.produ ADD CONSTRAINT UQ_uzyt >UNIQUE (pro_ID, kat_ID, UZYT_ID) USING INDEX TABLESPACE prod_i" >PL/pgSQL function "dodajunique" line 10 at execute statement > >ERROR: could not create unique index >Stan SQL:23505 >Szczegóły:Table contains duplicated values. > >Gdzie szukać przyczyny, czy to chodzi o jakieś zdublowane wiersze, gdzie >ich szukać, ten komunikat coś mówi na ten temat?
W komunikacie. Przecież jeśli robisz indeks po pro_ID, kat_ID, UZYT_ID to znaczy, że istnieją przynajmniej dwa identyczne wpisy (pro_ID, kat_ID, UZYT_ID)
Jakiż problem zrobić: select pro_ID, kat_ID, UZYT_ID from moja.produ group by pro_ID, kat_ID, UZYT_ID having count(*)>1
I zobaczyć które brużdżą? -- ___________ (R) /_ _______ Adam 'Trzypion' Płaszczyca (+48 502) 122 688 ___/ /_ ___ ul. Na Szaniec 23/70 31-560 Kraków (012 378 31 98) _______/ /_ http://trzypion.oldfield.org.pl/wieliczka/foto.html ___________/ mail: _555@irc.pl GG: 3524356
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[PostgreSQL] - jak =?ISO-8859-2?Q?zabezpieczy=E6_interesy_tw?==?ISO-8859-2?Q?=F3rcy_systemu_=3F=3F=3F?=
postgresql - int/int
postgresql Select count(*) czy raczej Select count(ID)
[PostgreSQL] jak =?ISO-8859-2?Q?pobra=E6_warto=B6=E6_zwracan?==?ISO-8859-2?Q?=B1_przez_funkcj=EA=3F?=
[postgresql] INSERT OR UPDATE - jak =?ISO-8859-2?Q?b=EAdzie_na?==?ISO-8859-2?Q?jlepiej=3F?=
[postgresql] kilka =?ISO-8859-2?Q?rekord=F3w_subquery_jako_?==?ISO-8859-2?Q?string?=
[PostgreSQL] Jak =?ISO-8859-2?Q?po=B3=B1czy=E6_funkcje_z_w?==?ISO-8859-2?Q?idokiem?=
Postgres - replikcja master-master
Dopasowanie do "najlepszego" dopasowania :) [ PostgreSQL]
Problemy z =?ISO-8859-2?Q?instalacj=B1_PostgreSQL_na_syste?==?ISO-8859-2?Q?mach_Windows?=
zanotowane.pldoc.pisz.plpdf.pisz.plred-hacjenda.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|