---
title: "ON DUPLICATE KEY i MS SQL Server?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/174348-on-duplicate-key-i-ms-sql-server"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Ramzeus"
published: "2008-09-26T09:27:15.000Z"
updated: "2008-09-26T12:41:39.000Z"
replies: 3
views: 598
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/174348-on-duplicate-key-i-ms-sql-server"
---

# ON DUPLICATE KEY i MS SQL Server?

## #1 — Ramzeus, 2008-09-26T09:27Z

Finns det någon motsvarighet till INSERT ... ON DUPLICATE KEY UPDATE (som det är i MySQL) i MS SQL Server?
Eller måste man göra en SELECT först som kollar om det redan finns rader, med de angivna nycklarna, som man vill uppdatera iniformation på?

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

## #2 — Peter S, 2008-09-26T10:30Z

Följande kanske kan vara av intresse:
<https://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1769317&SiteID=1>

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

## #3 — Ramzeus, 2008-09-26T12:02Z

Okej

Det bekräftade mina misstankar lite att det inte finns i MS SQL-server...
Tack för länktipset.

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

## #4 — Ramzeus, 2008-09-26T12:41Z

En lösning tror jag :)

Hittade ett sätt som jag tror kommer kunna fungera:

```
IF (SELECT COUNT(*) FROM Messages WHERE InventoryID=10 AND MessageTypeID=27)>0 
	UPDATE Messages SET TimeStamp=CURRENT_TIMESTAMP WHERE InventoryID=10 AND MessageTypeID=27
 ELSE
 	INSERT INTO Messages (InventoryID, MessageTypeID, TimeStamp) VALUES(10, 27, CURRENT_TIMESTAMP)
```

InventoryID och MessageTypeID är unika nycklar (10 och 27 är exempelvärden).
Detta bör motsvara följande i MySQL:

```
INSERT INTO Messages (InventoryID, MessageTypeID, TimeStamp) 
VALUES(10, 27, CURRENT_TIMESTAMP) 
ON DUPLICATE KEY UPDATE TimeStamp=CURRENT_TIMESTAMP
```

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/174348-on-duplicate-key-i-ms-sql-server
