Avatar billede frets Nybegynder
19. august 2007 - 23:52 Der er 2 kommentarer

IF statement

Hvordan laver jeg følgende i mysql 5:

SET @id = (SELECT id FROM table WHERE val1 = val2)

IF @id IS NULL THEN
  INSERT INTO...
ELSE
  UPDATE...
END IF
Avatar billede arne_v Ekspert
20. august 2007 - 00:06 #1
Avatar billede frets Nybegynder
20. august 2007 - 20:20 #2
Det har jeg nu, men jeg kan ikke lige se hvordan jeg kan få den til at virke efter hensigten.

Jeg prøver lige at forklare min struktur lidt bedre.

Tabel 1:
Id
Felt1
Felt2

Tabel2:
Id
IdTabel1
Felt3
Slettet


Lad os sige at jeg har et sted mellem 1 og 10 værdier, i dette tilfælde 5: abe, banan, cykel, dåse, egern. Disse værdier ligger i Felt3 (Tabel2).

Nu ønsker jeg at lave en update på Tabel2, da jeg nu ønsker at slette dåse og i stedet tilføje flaske, således Tabel2 kommer til at indeholde abe, banan, cykel, egern, flaske.

Jeg havde tænkt mig først at sætte feltet 'Slettet' i Tabel2 til true, efterfølgende tjekke om jeg har fat i eksisterende post, hvis ja, så sættes 'Slettet' tilbage til false.
Hvis posten ikke findes, så oprettes den som ny.

Dette kan garanteret gøres simplere, men jeg kan dog ikke se hvordan.
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