Avatar billede repsak Nybegynder
30. maj 2004 - 23:19 Der er 3 kommentarer og
1 løsning

Kun en med ét bestemt indhold

Jeg har et lidt underligt problem. Jeg har en tabel fx:

id  |  ref
1      1
2      1
3      1
4      2
5      1

Tricket er så at der kun må være 0 eller 1 med ref = 2. Kan man gøre det let?
(man kan jo altid progge sig ud af det, men kan man få en sqlfejl hvis man forsøger?)
Jeg bruger MyISAM og på den måde ingen fremmednøgler eller lign.
Avatar billede arne_v Ekspert
30. maj 2004 - 23:22 #1
Det tror jeg ikke kan lade sig gøre.

Man kan sikre sig at alle værdier kun optræder 0 eller 1 gange via et unikt index.

Men at nogen værdier kun må optræde 0 eller 1 gang vil så vidt jeg kan
se kræve en trigger, hvilket MySQL ikke understøtter.
Avatar billede repsak Nybegynder
30. maj 2004 - 23:49 #2
ok - det var sådan set også det svar jeg forventede/frygtede.
Plant et svar så kan du få nogle lette points ;)
Avatar billede arne_v Ekspert
30. maj 2004 - 23:56 #3
Jeg har en ide til hvordan det kunne laves i applikationen.

Lav er ekstra kolonne med auto generate og unikt index, for de værdier
der ikke må have duplikater indsætter du samme værdi som i ref, for de
værdier der godt må have duplikater indsætter du ingen værdi så den autogenererer
en unik værdi.
Avatar billede arne_v Ekspert
30. maj 2004 - 23:56 #4
svar
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