Avatar billede axe2 Nybegynder
06. november 2002 - 23:44 Der er 12 kommentarer og
1 løsning

SQL indsættelse uden dubletter

kan det lade sig gøre med INSERT eller findes der en UPDATE i så hvordan skrives sætningen i SQL
Avatar billede arne_v Ekspert
06. november 2002 - 23:58 #1
Du vil indsætte en row, men kun hvis den ikke findes
der i forvejen ?

Jeg kan tænke på flere forskellige approaches:

1)  Lav et unikt index på de felter der ikke
    ikke må have dublet værdier.

2)  Lav en SELECT først og in INSERT bagefter, hvis
    du ikke fandt noget med SELECT.
Avatar billede axe2 Nybegynder
07. november 2002 - 00:08 #2
1)  Lav et unikt index på de felter der ikke
    ikke må have dublet værdier
lyder interesant hvordan gør jeg det med en access database
Avatar billede arne_v Ekspert
07. november 2002 - 00:18 #3
CREATE UNIQUE INDEX ON tabel (field1, field2, field3)
Avatar billede arne_v Ekspert
07. november 2002 - 00:20 #4
Ja det var altså som SQL.

Jeg ved faktisk ikke hvordan man gør det GUI mæssigt.
Avatar billede axe2 Nybegynder
07. november 2002 - 00:21 #5
det ville se ud på denne tabel
"CREATE TABLE CD "
                + "(CDTITLE VARCHAR(32),CDGENRE VARCHAR(32),CDARTIST VARCHAR(32)"
                + ",ISHOMEBOOLEAN VARCHAR(5),LANERNAVN VARCHAR(32)"
                + ",ALEVRINGSFRIST VARCHAR(32))";
Avatar billede axe2 Nybegynder
07. november 2002 - 00:21 #6
ok
Avatar billede axe2 Nybegynder
07. november 2002 - 00:22 #7
fuck, svar lige igen, igen, sorry
Avatar billede axe2 Nybegynder
07. november 2002 - 00:23 #8
skulle absolut ikke afvises
Avatar billede arne_v Ekspert
07. november 2002 - 00:26 #9
OK.

Jeg prøvede iøvrigt lige.

Jeg havde glemt index-navnet !

Så:
CREATE UNIQUE INDEX index ON tabel (field1, field2, field3)
Avatar billede arne_v Ekspert
07. november 2002 - 00:27 #10
CREATE UNIQUE INDEX CDIX ON CD (CDTITLE, CDGENRE, CDARTIST, ISHOMEBOOLEAN, LANERNAVN, ALEVERINGSFRIST);
Avatar billede axe2 Nybegynder
07. november 2002 - 01:12 #11
CDIX betyder lige
Avatar billede axe2 Nybegynder
07. november 2002 - 01:12 #12
CDIX betyder lige stadigvæk i tvivl om dette
Avatar billede arne_v Ekspert
07. november 2002 - 14:33 #13
CDIX er bare navnet på indexet.

Du kan kalde det hvad som helst, men jeg syntes
at CDIX var et godt navn.
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