Mailinglisten-Archive |
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