---
title: "Uppdatera fler kolumner och flera olika poster"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/87403-uppdatera-fler-kolumner-och-flera-olika-poster"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Känning"
published: "2003-10-01T15:07:41.000Z"
updated: "2003-10-11T13:09:24.000Z"
replies: 10
views: 389
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/87403-uppdatera-fler-kolumner-och-flera-olika-poster"
---

# Uppdatera fler kolumner och flera olika poster

## #1 — Känning, 2003-10-01T15:07Z

Hej

Hur skriver man när man ska uppdatera flera olika poster och flera kolumner??

```
SQL = "UPDATE tabell SET fältnamn=fältnamn+1, fältnamn2=fältnamn2+1 WHERE id=1 '..... och hur gör jag sen?
```

 

Vill alltså uppdatera id=2 också

 :q

Permalänk: https://www.webforum.nu/p/87403

## #2 — SteveP, 2003-10-01T15:21Z

Du kan använda BETWEEN

```
UPDATE tabell SET fältnamn=fältnamn+1, fältnamn2=fältnamn2+1 WHERE id BETWEEN 1 AND x
```

Är det ej mellan 2 ID'n så kan du "troligtvis" använda OR

```
UPDATE tabell SET fältnamn=fältnamn+1, fältnamn2=fältnamn2+1 WHERE id = 1 or ID = 2
```

Permalänk: https://www.webforum.nu/p/1172794

## #3 — Känning, 2003-10-01T15:29Z

Nja, men jag menade mer uppdatera 2 fält where id = 1
sedan uppdatera två ändra fält där id är något annat. 

Typ:

```
UPDATE tabell SET fältn1=fältn1+1 WHERE id=1, SET fältn2=fältn2+1 WHERE id=7
```

Min fråga är alltså om detta går att uppdatera olika fält från olika poster i samma sql-sats och i så fall hur skriver man det med "set" och kommatecken osv.

Permalänk: https://www.webforum.nu/p/1172801

## #4 — LarsG, 2003-10-01T15:37Z

```
UPDATE tabell 
SET 
fältn1 =  case when id = 1 then fältn1 + 1 else fältn1 end,
fältn2 =  case when id = 7 then fältn2 + 1 else fältn2 end
WHERE id in (1,7)
```

fungerar bra i de flesta dbms (dock ej Access där man får använda iif istället).

Permalänk: https://www.webforum.nu/p/1172810

## #5 — Känning, 2003-10-01T15:39Z

Givetvis har jag en accessdatabas :(

Permalänk: https://www.webforum.nu/p/1172812

## #6 — LarsG, 2003-10-01T15:41Z

```
UPDATE tabell 
SET 
fältn1 =  iif(id = 1,fältn1 + 1,fältn1),
fältn2 =  iif(id = 7,fältn2 + 1,fältn2)
WHERE id in (1,7)
```

Permalänk: https://www.webforum.nu/p/1172816

## #7 — Känning, 2003-10-01T15:44Z

:r 

Hänger faktiskt inte riktigt med i koden måste jag säga men jag ska testa när jag kommer hem om ngn timme. Tack för hjälpen, jag hör av mig ikväll om jag inte får ihopa det...

Permalänk: https://www.webforum.nu/p/1172818

## #8 — Känning, 2003-10-02T11:01Z

Jag får inte ihop det  :(

Finns det någon bra guide man kan läsa här på nätet?

Man vill ju gärna försöka få ihop det själv....

Permalänk: https://www.webforum.nu/p/1173356

## #9 — Engine^, 2003-10-02T12:05Z

Varför fungerade inte **LarsG**s metod? Fick du något felmeddelande?

Permalänk: https://www.webforum.nu/p/1173395

## #10 — aasah, 2003-10-06T15:03Z

> **LarsG skrev:**
>
> UPDATE tabell 
> SET 
> fältn1 =  iif(id = 1,fältn1 + 1,fältn1),
> fältn2 =  iif(id = 7,fältn2 + 1,fältn2)
> WHERE id in (1,7)

Är det så att LarsGs variant funkar, men du förstår den inte? :q

I så fall:

iif(villkor, om_sant_gör_detta, annars_gör_detta)

Dvs om id = 1 eller id=7 så görs två saker, annars inga.
fältn1 kommer att bli ett större om id = 1, annars sätts den till det värde den hade från början - alltså ingen ändring.
fältn2 kommer att bli ett större om id = 7, annars sätts den till det värde den hade från början - alltså ingen ändring.

Permalänk: https://www.webforum.nu/p/1178694

## #11 — Känning, 2003-10-11T13:09Z

Har haft lite strul med min burk, men nu är jag tillbaka på banan igen och visst funkar det som LarsG skrev

 :)

Permalänk: https://www.webforum.nu/p/1182017

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/87403-uppdatera-fler-kolumner-och-flera-olika-poster
