Autor Beitrag
Rassi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 79



BeitragVerfasst: Mi 17.09.08 14:08 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 814

Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
BeitragVerfasst: 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

_________________
"Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it." (Linus Torvalds)
OperatingSystem Laptop (Ubuntu Hardy)
Rassi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 79



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 814

Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
BeitragVerfasst: 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

_________________
"Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it." (Linus Torvalds)
OperatingSystem Laptop (Ubuntu Hardy)