---
title: "Primary Key fråga (MySQL)"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/176782-primary-key-fråga-mysql"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Yoghurt"
published: "2009-02-09T11:51:37.000Z"
updated: "2009-02-09T14:27:29.000Z"
replies: 4
views: 1104
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/176782-primary-key-fråga-mysql"
---

# Primary Key fråga (MySQL)

## #1 — Yoghurt, 2009-02-09T11:51Z

Hej,

Arbetar i dagsläget med ett affärssystem där man ska kunna köra flera företag på en och samma databas. Problemet jag har i dagsläget är att jag vill att vardera företag ska kunna skapa en faktura med idNummer 1 t.ex (Lagras som iID i databasen och det är primary key för fakturatabellen.) men detta går ju inte då en primary key ska vara unik.

Jag har dock ett till fält som heter iCompanyID och som alltid innehåller idnumret på det företag som lägger till en faktura. Vad jag skulle vilja åstadkomma är att koppla ihop dessa två fält. Se förklaring nedanför.

iID (Primary Key)      iCompanyID (?)
1                          1
2                          1
1                          2
2                          2

Är detta möjligt att göra med mySQL eller är jag tvungen att göra någon hemmasnickrad lösning?

Daniel Öbrink

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

## #2 — Peter S, 2009-02-09T12:37Z

Ja, det är fullt möjligt att skapa en sammansatt nyckel. Har du testat men fått felmeddelanden?

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

## #3 — Yoghurt, 2009-02-09T14:11Z

Tack för svaret!
Har skapat en sammansatt (PRIMARY) nyckel nu för iID och iCompanyID, jag får det dock inte att fungera helt som jag vill.
Jag har satt "auto_increment" på fältet iID och värdet för iCompanyID sätter jag själv när jag lägger in en ny faktura i systemet. Som det blir nu så blir det fortfarande så att iID går i nummerordning oavsett vilket värde som sätts för iCompanyID och det blir då som exemplet nedan,

iID (Primary Key) iCompanyID (?)
1 1
2 1
3 2
4 2

Jag vill att det bli som Exemplet i ovanför där iID börjar på 1 för varje unikt iCompanyID utan att jag själv ska behöva räkna fram nästa iID vid INSERT (För att minimera att det blir fel)

Går detta att lösa på något sätt?

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

## #4 — Peter S, 2009-02-09T14:17Z

För bl.a. MyISAM-tabeller skall det fungera så som du gör. Se <http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html>

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

## #5 — Yoghurt, 2009-02-09T14:27Z

Tack så mycket Peter för länken!
Fick det nu att fungera då iCompanyID helt enkelt skulle ligga först vilket jag tidigare inte hade tänkt på.

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/176782-primary-key-fråga-mysql
