phpbar.de logo

Mailinglisten-Archive

[php] AW: [php] OT: mysql auto_increment

[php] AW: [php] OT: mysql auto_increment

Tim Hildebrandt TConnect_(at)_gmx.net
Wed, 12 Apr 2000 14:23:55 +0200


Dü müßtest die Anzahl der Datensätze durchzählen lassen und den Zähler mit
der aktuellen ID vergleichen. Alle "freien" ID's speicherst Du dann in einem
Array und weist einem neuen Datensatz eine dieser noch freien ID's zu.
Problem ist, daß Du dann zuvor den auto_increment-Schlüssel manuell in der
Datenbank aufheben und später wieder setzen mußt. Vertust Du dich nur ein
mal, sieht's blöd für Dich aus... Weil dann kann der auto_increment
Schlüssel nicht mehr eingeschaltet werden, da es doppelte ID's gibt. Ich
weiß nicht, ob PHP für so etwas Korrekturen anbietet.

Eine andere Möglichkeit ist, auch hier den Autoinkrement-Schlüssel zu
deaktivieren, dann einfach nur ganz dumm mittels eines Schleifenzählers die
jeweiligen neue ID dem Datensatz zuordnen uns dann wieder autoincrement
setzen.

So richtig Sinn macht das aber alles nicht, denn eine ID sollte eine ID
bleiben! Du hast ja Geschäftsvorfälle, die man bestenfalls auch später noch
einmal nachvollziehen muß und wenn dann eine ID einfach verändert wird, ist
das nicht so gut. Stell Dir mal vor, Deine GMX-Kundennummer würde sich jede
Woche ändern, nur weil die bei GMX ihre ID-Löcher schließen wollen... Zudem
werden ja unterschiedliche Tabellen mittels ihrer ID's bzw. Referenz-ID's
(bei 1-n Verknüpfungen) verknüpft. Stell Dir vor, Du wirst plötzlich
weiblich, weil die Verknüpfung durch das Verändern Deiner DatensatzID
plötzlich auf einen anderen Datensatz in der "Eigenschaftstabelle" zeigt...
:-)


-----Ursprüngliche Nachricht-----
Von: php-admin_(at)_infosoc.uni-koeln.de
[mailto:php-admin_(at)_infosoc.uni-koeln.de]Im Auftrag von sandro pilch
Gesendet: Dienstag, 11. April 2000 21:19
An: php_(at)_solix.wiso.uni-koeln.de
Betreff: [php] OT: mysql auto_increment


hallo

wenn ich in einer tabelle eine spalte mit auto_increment
habe, wird ja, wenn ein neuer datensatz hinzukommt,
die höchste vorkommende id um eins erhöht.
wenn aber eine id zwischendrin leer ist wird diese nicht
verwendet. ist es möglich, neue datensätze in diese
"lücken" zu schreiben??

thx
sandro


__________________________________________________________________
Do You Yahoo!?
Gesendet von Yahoo! Mail - http://mail.yahoo.de
Yahoo! Auktionen - gleich ausprobieren - http://auktionen.yahoo.de


--
** Durchgehend geöffnet: http://www.php-center.de **
Die PHP-Liste: mailto:php_(at)_infosoc.uni-koeln.de
http://infosoc.uni-koeln.de/mailman/listinfo/php




php::bar PHP Wiki   -   Listenarchive