Avatar billede df_n Nybegynder
14. juni 2002 - 00:02 Der er 2 kommentarer og
3 løsninger

unique på 2 colonner

hvordan kan jeg lave en trigger så der ikke kan have ens kombinationer på 2 kolonner, som en primary key på 2 kolonner ??
Avatar billede hansk Nybegynder
14. juni 2002 - 08:34 #1
Jeg vil mene du kan definere tabellen med unique key. Det vil forhindre ens kombinationer.
Avatar billede thomasledet Nybegynder
14. juni 2002 - 15:31 #2
hansk> ja, det er hele ideen med unique... men der bliver spurgt om, hvorledes man kan forhindre

id - noget - noget andet - ting
1    2          2          2

som jeg har forstået spørgsmålet, ønskes at sammenligne fx "noget" og "ting", således at der ikke må stå "2" i begge rækker...

er det korrekt forstået??

Så vidt jeg ved, kan dette ikke umiddelbart laves med postgresql som sådan... du kan måske lave et voldsomt sql-insert, der checker for det, før der indsættes... eller du kan checke fra det program, der snakker med postgresql, inden du indsætter...
Avatar billede df_n Nybegynder
14. juni 2002 - 17:41 #3
Det skal være sådan at hvis "noget" har en "1" og "noget andet" har en "2"
må denne kombination ikke komme igen, så jeg kan bruge disse 2 tabeller sammen som en primary key.
Avatar billede bromer Nybegynder
17. juni 2002 - 14:18 #4
Det lyder ikke som at din tabelopdeling er særlig sund. Jeg tror at det ville være at foretrække, hvis du fik delt din tabel op i flere. Egner den sig til det?

/Rune
Avatar billede aggie Nybegynder
13. september 2002 - 11:43 #5
som jeg forstår det, har du bare en sammensat primær nøgle?

CREATE TABLE test (
  id INTEGER,
  foo INTEGER,
  bar VARCHAR(32),

  PRIMARY KEY(id,foo)
);

se evt.
http://www.ca.postgresql.org/docs/aw_pgsql_book/node130.html#9741
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester