Problem mit zuletzt eingefügter ID

Problem mit zuletzt eingefügter ID

am 11.03.2006 06:14:13 von Sebastian Gohres

Hi!

In einer Tabelle mit einer Unique-ID-Spalte wurde aus Versehen ein
Eintrag mit der ID -1 geschrieben.
Nun wird beim Schreiben eines neuen Eintrags immer die ID 2147483647
verwendet. Ich habe nun den Eintrag mit der ID = -1 entfernt aber
dennoch wird immer versucht die ID 2147483647 zu verwenden, was nicht
mehr geht da diese bereits existiert. Wie erreiche ich es, dass wieder
bei der tatsächlich vorhandenen grössten Wert ID fortgesetzt wird?
Also wie "resette" ich das?

MfG

S. Gohres

Re: Problem mit zuletzt eingefügter ID

am 11.03.2006 08:26:50 von Dirk Brosowski

Sebastian Gohres schrieb:
> Hi!
>
> In einer Tabelle mit einer Unique-ID-Spalte wurde aus Versehen ein
> Eintrag mit der ID -1 geschrieben.
> Nun wird beim Schreiben eines neuen Eintrags immer die ID 2147483647
> verwendet. Ich habe nun den Eintrag mit der ID = -1 entfernt aber
> dennoch wird immer versucht die ID 2147483647 zu verwenden, was nicht
> mehr geht da diese bereits existiert. Wie erreiche ich es, dass wieder
> bei der tatsächlich vorhandenen grössten Wert ID fortgesetzt wird?
> Also wie "resette" ich das?
>
> MfG
>
> S. Gohres

Ich denke mal es handelt sich um ein Autoincrement-Feld. Lösche die
Datensätze mit den hohen ID's und builde den autoincrement-Wert neu.

Das "Wie" findest du in der Doku bei www.mysql.com, ist auf jeden Fall
ein "Alter table" irgendwas mit "set autoincrement=0" ...

Grüße

Dirk

Re: Problem mit zuletzt eingefügter ID

am 11.03.2006 14:56:45 von Johannes Vogel

Hi Sebastian

Dirk Brosowski wrote:
> Sebastian Gohres schrieb:
>> In einer Tabelle mit einer Unique-ID-Spalte wurde aus Versehen ein
>> Eintrag mit der ID -1 geschrieben.
>> Also wie "resette" ich das?
> Ich denke mal es handelt sich um ein Autoincrement-Feld. Lösche die
> Datensätze mit den hohen ID's und builde den autoincrement-Wert neu.

> Das "Wie" findest du in der Doku bei www.mysql.com, ist auf jeden Fall
> ein "Alter table" irgendwas mit "set autoincrement=0" ...

Genau das war des OPs Frage..
alter table auto_increment =

HTH, Johannes

Re: Problem mit zuletzt eingefügter ID

am 11.03.2006 22:55:33 von Dirk Brosowski

Johannes Vogel schrieb:
> Hi Sebastian
>
> Dirk Brosowski wrote:
>
>> Sebastian Gohres schrieb:
>>
>>> In einer Tabelle mit einer Unique-ID-Spalte wurde aus Versehen ein
>>> Eintrag mit der ID -1 geschrieben.
>>> Also wie "resette" ich das?
>>
>> Ich denke mal es handelt sich um ein Autoincrement-Feld. Lösche die
>> Datensätze mit den hohen ID's und builde den autoincrement-Wert neu.
>
>
>> Das "Wie" findest du in der Doku bei www.mysql.com, ist auf jeden Fall
>> ein "Alter table" irgendwas mit "set autoincrement=0" ...
>
>
> Genau das war des OPs Frage..
> alter table auto_increment =

Es geht aber einfacher, aber im Handbuch finde ich es jetzt nicht:

alter table x auto_increment=0;

Man braucht dazu kein max(id) zu machen. Das macht mysql automatisch und
es sucht auch selbständig die richtige Spalte raus :)

Wenn der OP übrigens nur wissen wollte, welches Statement man aufrufen
muss um das Auto_increment-Feld auf irgendeinen Wert zu setzen, dann
hätte er sicher die Lösung innerhalb von 30 Sekunden bei mysql.com
gefunden und hier gar nicht erst gefragt. Und ausserdem ist das hier
Hilfe zur Selbsthilfe :)

Grüße

Dirk