Wenn ich einen neuen Datensatz erstelle (bin momentan bei etwa 2000 Datensätzen) wird seit kurzem ein 7-stelliger Primärschlüssel erzeugt. Da ich den Primärschlüssel für die Eingabe in andere Tabellen nutze, ist mir das zu lang; ich hätte gerne wieder vierstellige Primärschlüssel; eben Datensatz 2001, 2002 etc.
Mögliches Ereignis, das in zeitlichem Zusammenhang mit dieser Veränderung steht: Ich habe in der besagten Tabelle direkt eine Sortierung veranlasst. Ich habe schon versucht, die Indizes dieser Tabelle zu löschen, ging aber nicht.
Wer weiß, wie ich wieder zu kürzeren Primärschlüsseln komme?
Danke voraus
Berthold
Primärschlüssel plötzlich 7-stellig
Moderator: Moderatoren
-
- *****
- Beiträge: 473
- Registriert: Fr, 09.10.2009 16:44
- Wohnort: Bielefeld
- Kontaktdaten:
Re: Primärschlüssel plötzlich 7-stellig
Hallo,
wenn Du Deine DB in zip umbenennst und mal auspackst, findest Du im Verzeichnis database die Datei script, die in meinem Beispiel folgenden enthält. An der mit ==> markierten Zeile siehst Du, wie der Startwert für die ID festgelegt wird. Du kannst diese Zeile auch im SQL-Fenster ausführen.
Einfacher wird sein, Urtabelle umzubenennen, die Daten zu kopieren und eine neue Tabelle alten Namens anzulegen und beim Anlegen das Häkchen bei "ID erstellen" (oder so) anklicken, dann sollten Deine Datensätze alle in die neue Tabelle eingefügt und normal aufsteigende IDs bekommen.
Grüße
Andreas
wenn Du Deine DB in zip umbenennst und mal auspackst, findest Du im Verzeichnis database die Datei script, die in meinem Beispiel folgenden
Code: Alles auswählen
SET DATABASE COLLATION "German"
CREATE SCHEMA PUBLIC AUTHORIZATION DBA
CREATE CACHED TABLE "Aufgaben"("ID" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,"Anmerkung" LONGVARCHAR,"AufgabenID" INTEGER,"Enddatum" DATE,"Anfangsdatum" DATE,"Beschreibung" LONGVARCHAR)
SET TABLE "Aufgaben" INDEX'80 3'
==> ALTER TABLE "Aufgaben" ALTER COLUMN "ID" RESTART WITH 3
CREATE USER SA PASSWORD ""
GRANT DBA TO SA
SET WRITE_DELAY 60
Einfacher wird sein, Urtabelle umzubenennen, die Daten zu kopieren und eine neue Tabelle alten Namens anzulegen und beim Anlegen das Häkchen bei "ID erstellen" (oder so) anklicken, dann sollten Deine Datensätze alle in die neue Tabelle eingefügt und normal aufsteigende IDs bekommen.
Grüße
Andreas
LO 4.3
AMD Athlon 64 3700+, 2.21 GHz, 4 GB RAM, Win XP SP3
iMac 2 GHz, 16 GB RAM/MacBookPro, 8 GB RAM, Mac OS X 10.9.5
Intel Core2 Quad CPU Q6600 @ 2,4 GHz, 4 GB RAM, Suse 13.2
MySQL 5.1: Pentium III, 666 MHz, 512 MB, Suse 12.1
AMD Athlon 64 3700+, 2.21 GHz, 4 GB RAM, Win XP SP3
iMac 2 GHz, 16 GB RAM/MacBookPro, 8 GB RAM, Mac OS X 10.9.5
Intel Core2 Quad CPU Q6600 @ 2,4 GHz, 4 GB RAM, Suse 13.2
MySQL 5.1: Pentium III, 666 MHz, 512 MB, Suse 12.1
Re: Primärschlüssel plötzlich 7-stellig
Herzliochen Dank, Problem mit SQL-Befehl gelöst.