Entwickler-Ecke
Datenbanken (inkl. ADO.NET) - Automatische nummerierung des Primärschlüssels - MySql
Rassi - Mi 17.09.08 14:08
Titel: Automatische nummerierung des Primärschlüssels - MySql
Hallo.
Eine Frage zum Primärschlüssel. Hat nichts direkt mit C# zu tun, will es aber wegen der Tabellenplanung wissen.
Wenn in einer Tabelle mit Primärschlüssel zwei Datensätze angelegt werden, bekommen diese automatisch die Schlüsselnummer 1 und 2 zugewiesen.
Wenn ich nun den Eintrag 1 lösche, und danach einen neuen Datensatz anlege, wird automatisch dieser Datensatz unter dem Schlüssel 3 angelegt. Somit ist der Index 1 noch frei.
Schließt MySql diese Lücken nicht automatisch um sicher zu stellen, dass kein Konflikt mit anderen Datensätzen entsteht, oder gibt es einen weg der "automatischen Lückenschließung".
Oder ------ muss ich das über meine Software beim Anlegen der Datensätze mit programmieren?
Gruß
Rasmus
foxy - Mi 17.09.08 14:24
nein das auto increment zählt einfach nur hoch ... was auc hnicht schlimm ist, denn der schlüssel muss ja nur einzigartig sein !
ob dazischen lücken sind macht nichts
Rassi - Mi 17.09.08 15:21
Hallo.
Richtig, Schlüssel ist dann einmalig. Doch was ist, wenn das Ende des Zahlenbereichs nahe kommt.
So wie ich bisher mitbekommen habe, muss dann noch eine Software her, um die Tabellen der Datenbank zu Warten, also Tabellen umkopieren, alte Tabellen löschen und wieder mit den Daten der kopierten Tabellen auffüllen. Hier ist aber zu beachten, dass Verweise auf andere Tabellen nachgeführt werden. Viel arbeit.
OK, ich weiß bescheid. Danke für die Infos.
Gruß
Rasmus
foxy - Mi 17.09.08 15:38
der autoincrement hat je nach DB einen unterschiedlichen datentyp sag ich mal ... sind zwar alles integer aber ich glaube das sind bei oracle, SQL-Server und mysql bigint ... also kommst du auf ... ömm ka paar billiarden einträge :)
der auto increment hat ja nichts mit alten einträgen zu tun ... das ist einfach ein counter der hochzählt das der Prim-Key immer unique bleibt ... wenn du anfangen würdest bei riesigen datensätzen zu suchen wo welche lücken ind er zahlenreihenfolge ist, würde das die DB unnötig bremsen
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!