IDs normalisieren?
am 22.03.2006 22:11:36 von Mark Knochen
Hallo,
eine umfangreiche Tabelle enthält Einträge die per ID eindeutig
identifizierbar sind. Diese IDs sind durch permanente INSERTS und
DELETES nun nicht mehr fortlaufend.
Gibt es einen Befehl, der diese IDs wieder "normalisiert" von 1 - Ende.
Selbsredend ist die Tabelle mit der ID nicht mit einer anderen verküpft,
das wäre natürlich "ungünstig".
Danke
Mark
Re: IDs normalisieren?
am 22.03.2006 22:26:46 von Peter Marbaise
Mark Knochen schrieb:
> Hallo,
>
> eine umfangreiche Tabelle enthält Einträge die per ID eindeutig
> identifizierbar sind. Diese IDs sind durch permanente INSERTS und
> DELETES nun nicht mehr fortlaufend.
>
> Gibt es einen Befehl, der diese IDs wieder "normalisiert" von 1 - Ende.
schau dir die FAQ an, daß man so etwas nicht macht. Außerdem ist nicht
klar , was das überhaupt soll.
ciao Peter
--
WWW: http://www.marbaise.de Uptime: 6 Days 23 Hours
Re: IDs normalisieren?
am 22.03.2006 22:39:39 von Mark Knochen
Peter Marbaise wrote:
>>
>>Gibt es einen Befehl, der diese IDs wieder "normalisiert" von 1 - Ende.
>
>
> schau dir die FAQ an, daß man so etwas nicht macht. Außerdem ist nicht
> klar , was das überhaupt soll.
>
Es soll rein kosmetisch sein ... mir ist klar, dass man das nicht machen
soll / muss ... allerdings, wenn die Tabelle "frei" von Beziehungen zu
anderen Tabellen ist - warum nicht ...
Also offensichtlich geht es nicht. Gut.
Mark
Re: IDs normalisieren?
am 22.03.2006 22:57:09 von Dirk Brosowski
Mark Knochen schrieb:
> Peter Marbaise wrote:
>
>>>
>>> Gibt es einen Befehl, der diese IDs wieder "normalisiert" von 1 - Ende.
>>
>>
>>
>> schau dir die FAQ an, daß man so etwas nicht macht. Außerdem ist nicht
>> klar , was das überhaupt soll.
>>
>
> Es soll rein kosmetisch sein ... mir ist klar, dass man das nicht machen
> soll / muss ... allerdings, wenn die Tabelle "frei" von Beziehungen zu
> anderen Tabellen ist - warum nicht ...
>
> Also offensichtlich geht es nicht. Gut.
Warum soll das nicht gehen? Alte ID-Spalte umdefinieren und das
auto-increment wegnehmen, neue Spalte mit neuem auto-increment dazu,
alte löschen, neue umbennen und fertig.
Aber: Kosmetisch?
Grüße
Dirk
Re: IDs normalisieren?
am 23.03.2006 09:53:38 von Rainer Hinz
Dirk Brosowski wrote:
> Warum soll das nicht gehen? Alte ID-Spalte umdefinieren und das=20
> auto-increment wegnehmen, neue Spalte mit neuem auto-increment dazu,=20
> alte löschen, neue umbennen und fertig.
>=20
> Aber: Kosmetisch?
Vielleicht Beschäftigungstherapie? Kommt wohl aus dem öffentlichen=20
Dienst oder ist Beamter.
Re: IDs normalisieren?
am 24.03.2006 08:53:37 von sylvio runge
Anni Schmidt wrote:
>
> Dirk Brosowski wrote:
>
> > Warum soll das nicht gehen? Alte ID-Spalte umdefinieren und das
> > auto-increment wegnehmen, neue Spalte mit neuem auto-increment dazu,
> > alte löschen, neue umbennen und fertig.
> >
> > Aber: Kosmetisch?
>
> Vielleicht Beschäftigungstherapie? Kommt wohl aus dem öffentlichen
> Dienst oder ist Beamter.
Vor allem ist das auch etwas "gewagt"; es kommt auf das Design der DB an. Wenn das nur eine Tabelle
ist; ok.
Es kann aber durchaus passieren daß eine solche ID in einer oder mehreren anderen Tabellen mit
notiert wurde und dort als "Verknüpfung" zu dem Datensatz zu dieser ID halt verwendet wird. Dann
muessten diese IDs z.B. auch mit geändert werden.
S.
Re: IDs normalisieren?
am 24.03.2006 15:08:46 von Thomas Rachel
sylvio runge wrote:
>> > Aber: Kosmetisch?
>>
>> Vielleicht Beschäftigungstherapie? Kommt wohl aus dem öffentlichen
>> Dienst oder ist Beamter.
> Vor allem ist das auch etwas "gewagt"; es kommt auf das Design der DB an.
> Wenn das nur eine Tabelle ist; ok.
Es ist zwar absolut unnötig, aber ich kann den Wunsch durchaus verstehen.
In habe ich ein kleines Skript vorgestellt, das
das im Prinzip kann.
> Es kann aber durchaus passieren daà eine solche ID in einer oder mehreren
> anderen Tabellen mit notiert wurde und dort als "Verknüpfung" zu dem
> Datensatz zu dieser ID halt verwendet wird. Dann muessten diese IDs z.B.
> auch mit geändert werden.
Auch dieser Fall wird damit abgedeckt.
Thomas