PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : UserID neu zählen


copilot
20.07.2007, 17:02
hallo,

ich habe ein addon wo sich user selber deleten können.

dadurch sind jetzt die userid´s durcheinander und ich möchte gern das die id´s wieder sortiert sind.

z.b.

ID 155 würde gelöscht

da bleiben ID 153, 154, 156, 157....

und ich wollte das die anderen dass vorrücken so das 155 gefüllt ist.

geht das?

ich danke schonmal.

ragtek
20.07.2007, 21:06
Nein geht nicht da das Feld userid auto_increment als "Attribut?" hat.
Das heißt das es eindeutig ist und Automatisch vom SQL Server eingefügt wird.
Du hsat (meines Wissens nach) keinen Einfluss drauf.

Andreas
20.07.2007, 21:08
Wenn man genau weiß was man tut und Lust verspürt einen ganzen Sack voll Tabellen zu aktualisieren - dann geht das durchaus.

Die Frage bleibt nur: Wozu?

Es ist lediglich eine ID; dass da welche fehlen hat keinerlei Einfluss auf die Funtkinalität.

Hoffi
20.07.2007, 21:45
Nimm ein leeres Forum und lade alles alte mit ImpEx. Dann hast du alle ID's wieder fortlaufend. Bis das nächste gelöscht wird.

Google Link gehen dann auch allesamt ins Leere oder auf falsche Seiten.

Es merkt doch eh keiner, und wenn du User-Bezogene Hacks eingebaut hast, wird das zu 90% rh schiefgehen da die wenigsten Hacks sowas abkönnen.

ragtek
21.07.2007, 10:32
Wenn man genau weiß was man tut dann geht das durchaus.

wie geht das?
feld bearbeiten damit es kein auto_increment mehr is und dann ändern?
oder gibts da was anderes?

hcmagix
21.07.2007, 10:35
Der Sinn des Ganzen will sich mir nicht erschließen. Es sei denn es gibt welche die unheimlich geil auf die UserID 1 sind ^^

Andreas
21.07.2007, 11:15
wie geht das?
Eine Möglichkeit wäre:
- Allen Tabellen die eine userid felder haben backup-felder hinzufügen und auf die userid setzen
- struktur der user Tabelle kopieren
- Daten der user Tabelle in die neue Tabelle sortiert nach userid ASC einfügen - ohne das Feld userid
- alte Tabelle verwerfen, neue Tabelle in user umbenennen
- update auf alle Tabellen und Felder: SET useridfield = user.userid WHERE backupfield = user.backupuserid

Wie man sieht: Sehr aufwendig - und IMHO sinnlos.

ragtek
21.07.2007, 11:22
sinnlos auf jeden fall
wollte nur die vorgehensweise wissen, falls man es mal benötigen sollte für fälle wo es nicht sooo aufwändig wäre(also wo nicht haufenweise tabellen an die id gebunden sind