Hei! Haluaisin luoda postgres-tauluun kentän, joka olisi uniikki, eli taulussa ei saa olla kahta tietuetta jossa kentän arvo olisi sama. Haluaisin kuitenkin, että kyseinen kenttä EI ole primaariavain.
Onko postgresissä mahdollista luoda uniikkikenttä joka ei kuitenkaan ole primaariavain ja onnistuuko se jotenkin pgadmin-ohjelmassa?
Onko postgresissä mahdollista luoda uniikkikenttä joka ei kuitenkaan ole primaariavain ja onnistuuko se jotenkin pgadmin-ohjelmassa?
Vastaukset 1
Vanhimmat
Eiköhän tuo mene ihan kiltisti esim. taulua luotaessa ilmaisemalla, että sarake on unique. Näin:
create table foo (
id int primary key,
uniikki int unique);
jos haluat, että useamman sarakkeen yhdistelmä on uniikki, niin se tehdään suunnilleen näin:
create table foo (
id int primary key,
uniikki1 int,
uniikki2 int,
unique(uniikki1, uniikki2));
Lisää tietoa löytyy postgressin dokumentaatiosta hakusanalla "unique constraints"