1 message in com.mysql.lists.mysql-deSicherheitsfrage zu Veränderung inter...
FromSent OnAttachments
Pfeiffer-Koberstein Immobilien - Ralf Pfeiffer15 Jan 2004 00:40 
Subject:Sicherheitsfrage zu Veränderung interner Datensatznummerung
From:Pfeiffer-Koberstein Immobilien - Ralf Pfeiffer (ralf@hohenloher-immobilien.de)
Date:01/15/2004 12:40:17 AM
List:com.mysql.lists.mysql-de

Hallo,

wir haben in einer Tabelle mehrere hunderte Objekte gespeichert, mit nachfolgenden Feldern: ObjNrintern / ObjNrextern / Name / Vorname / Strasse / ....

Die ObjNrintern ist PrimaryIndex und auto_increment, wird vom System automatisch angelegt und ist nach außen bei den diversen Abfrage auch nicht sichtbar, also nur zu internen Verwaltung, bisheriger Numeriungsstand war 650, angefangen von 1, wobei einige Nummern aufgrund Löschungen fehlen.

Die ObjNrextern wurde bisher von Hand vergeben und hatten die Numerierung 1350-brt-le-842, 1351-bls-ni-732, 1352 ......., 1353 ........

Die letze jeweils Nummer 883, 746 .... ist hierbei ein Variablenwert $Variable, welche jeweils zu Beginn der Seite eingebunden wird, die mittleren Buchstaben sind nun überflüssig geworden.

Nun sollte auch die ObjNrextern automatisch generiert werden (php-Skript) als eine Kombination aus ObjNrintern und dieser $Variablen. Dies ist nun keine Problem und es werden nun die Nummern beginnend mit 651-$Variable, 652-$Variable, 653-$Variable .... automatisch generiert und in das Feld ObjNrextern fortlaufend gespeichert. Da wir aber mit den Nummern 1350...., 1352, ... gearbeitet haben ist dies nun ein Bruch bei unserer externen ObjNr-Numerierung.

Deshalb nun meine Fragen: kann man ohne Probleme die ObjNrintern, welche ja PrimaryIndex und auto_increment ist von Hand von 650 auf 1350 setzen (mit insert eines Datenbanksatz) ohne das es zukünftig Probleme hierbei gibt? Ich habe dies gemacht und bei dem nächsten Datensatz macht das System dann automatisch mit 1351 weiter und dann 1352 etc. Macht diese Lücke von 650 bis 1350 in den PrimaryIndex/autoincrement irgendwann mal Probleme bei den Select oder ähnliches, da diese fehlenden Nummern vom System nie vergeben wurden? (Wir haben bei unserem Provider die Mysql-Version 3.23.49).

Gruß Ralf