---
title: "Nollställa ID-nummer i tabell (MySQL)"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/166364-nollställa-id-nummer-i-tabell-mysql"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "oskob"
published: "2007-11-14T11:54:26.000Z"
updated: "2007-11-16T15:07:53.000Z"
replies: 9
views: 908
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/166364-nollställa-id-nummer-i-tabell-mysql"
---

# Nollställa ID-nummer i tabell (MySQL)

## #1 — oskob, 2007-11-14T11:54Z

Hej!

Jag har en tabell som tar emot en stor mängd data. Lite då och då läses tabellen av och all ny data kopieras över till en annan tabell och all data som är över en månad gammal tas bort. Detta gör ju att primärnyckeln kommer stiga hela tiden, även om tabellen inte innehåller mer än kanske 100 000 rader.

Finns det något smart sätt att nollställa primärnycklarna utan att ta bort all data? 

En int(20) som håller primärnyckeln kan väl innehålla heltal upp till en miljon ungefär? När man kommit dit har ju rader med ID = 1 och en bra bit frammåt tagits bort för länge sedan. Kan man då säga att nästa auto_increment ska bli 1, även om det finns högre nycklar i tabellen på något sätt?

Tack på förhand!

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

## #2 — @nders, 2007-11-14T12:00Z

En integer i MySQL kan lagra mycket större tal än så.

<http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html>

Det finns ingen anledning att återanvända.

mvh

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

## #3 — oskob, 2007-11-14T14:48Z

Oj vad dum jag är! Jag täntke att en int(20) var 20 bit men det är ju 20 byte!

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

## #4 — LarsG, 2007-11-14T14:50Z

I Mysql så är int alltid 4 byte. Även du anger Int(20) så används 4 byte för att lagra värdet.

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

## #5 — oskob, 2007-11-15T13:53Z

Jag måste alltså ändra till bigint?

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

## #6 — @nders, 2007-11-15T13:56Z

Maxvärdet för en unsigned int är 2147483647 enligt länken ovan.
Räcker inte det?

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

## #7 — oskob, 2007-11-16T00:13Z

Det handlar ju om kanske en 10 000 rader per dag så det är väl skönt med lite headroom. Det lär väl inte vara så påfrestande att köra bigint istället för int? 

Fattar den själv om det är unsignet eller signet int eller måste jag ange det någonstans?

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

## #8 — colione, 2007-11-16T00:42Z

du väljer unsigned under attributes i phpmyadmin.

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

## #9 — The_Hulk, 2007-11-16T10:36Z

Min/max värde för unsigned/signed int är följande

```
Typ           Min            Max
unsigned            0    4294967295
signed    -2147483648    2147483647
```

Så om du får 10 000 poster per dag så klarar du dig iaf i 200 000 dagar innan du behöver oroa dig för att räknare tar slut :D

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

## #10 — oskob, 2007-11-16T15:07Z

Oj ja det var ju en stund!
Tack för alla svar!

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/166364-nollställa-id-nummer-i-tabell-mysql
