Hallo,
in meiner bereits recht umfangreichen Datenbank habe ich bereits über 1300 Einträge, aber seinerzeit nicht darauf geachtet den Auto-Wert beim Primärschlüssel zu setzen. Es ist höchst anwenderunfreundlich jedesmal den höchsten Wert zu suchen um dann den korrekten neuen einzugeben.
Ich habe schon einiges zur Reparatur nachgelesen, aber nichts funktioniert. So habe ich die Relationen gelöscht, den Primärschlüssel entfernt um ihn dann mit dem Auto-Wert zu bestücken, aber jedes Mal kommt der Fehler "column is referenced in constraint or view... Dann kommt die verbundene Abfrage. Ich habe die mal spaßeshalber gelöscht, aber dann kommt die nächste Abfrage, die im Wege steht.
Ich werde hier nicht ewig bleiben um die DB zu bedienen und möchte meinem Nachfolger die Sache möglichst problemlos übergeben. - Was kann ich tun, um ein für alle Mal den Auto-Wert nachträglich zu setzen?! - Suche händeringend nach der Lösung!
Vielen Dank, wenn...
Lafaiete
Gelöst: Auto-Wert nachträglich einfügen
Moderator: Moderatoren
Gelöst: Auto-Wert nachträglich einfügen
Zuletzt geändert von Lafaiete am Di, 01.03.2011 17:45, insgesamt 1-mal geändert.
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Auto-Wert nachträglich einfügen
Suche in der Dokumentation der Datenbank, die Du verwendest, nach der richtigen Syntax für ALTER TABLE ALTER COLUMN
siehe auch viewtopic.php?f=8&t=32801&p=129012
Viel Erfolg!
siehe auch viewtopic.php?f=8&t=32801&p=129012
Viel Erfolg!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Auto-Wert nachträglich einfügen
Aloha
Ich befürchte, auch mit Konsolen-SQL wird er keinen Erfolg haben können, solange die Views und/oder Beziehungen noch existieren.
Die einzige Möglichkeit ist vermutlich, alle FK-Referenzierungen auf den Primärschlüssel zu entfernen, alle sich darauf beziehenden Views zu entfernen (SQL-Code des Views kann ja problemlos gesichert werden), die Spalte auf Auto-Wert zu stellen und danach wieder alles zusammen zu bauen.
Ich befürchte, auch mit Konsolen-SQL wird er keinen Erfolg haben können, solange die Views und/oder Beziehungen noch existieren.
Die einzige Möglichkeit ist vermutlich, alle FK-Referenzierungen auf den Primärschlüssel zu entfernen, alle sich darauf beziehenden Views zu entfernen (SQL-Code des Views kann ja problemlos gesichert werden), die Spalte auf Auto-Wert zu stellen und danach wieder alles zusammen zu bauen.
Re: Auto-Wert nachträglich einfügen
oder:
Tabelle OHNE Daten kopieren
Primärschlüssel löschen oder (wenn möglich) Primärschlüssel auf Autoinkrement umstellen
Daten einfügen
alte Tabelle durch neue Tabelle ersetzen.
Je nach verwendeter Backend-Datenbank müssen dann Views und Keys neu gemacht werden, oder eben nicht...
!!! Achtung beim Neu-Generieren: solltest Du vom Datenbank-Frontend aus per INDEX auf die Tabelle zugreifen, dann wäre es klug das bestehende Feld zu ändern, aber wenn Du den Autowert sowieso immer händisch gesetzt hast fällt das wohl weg.
g
Tabelle OHNE Daten kopieren
Primärschlüssel löschen oder (wenn möglich) Primärschlüssel auf Autoinkrement umstellen
Daten einfügen
alte Tabelle durch neue Tabelle ersetzen.
Je nach verwendeter Backend-Datenbank müssen dann Views und Keys neu gemacht werden, oder eben nicht...
!!! Achtung beim Neu-Generieren: solltest Du vom Datenbank-Frontend aus per INDEX auf die Tabelle zugreifen, dann wäre es klug das bestehende Feld zu ändern, aber wenn Du den Autowert sowieso immer händisch gesetzt hast fällt das wohl weg.
g
g
LucidLynx/WinXP LibreOffice v3.3.2 ab 03/12 v3.3.2 & v3.4.5
LucidLynx/WinXP LibreOffice v3.3.2 ab 03/12 v3.3.2 & v3.4.5
Gelöst: Auto-Wert nachträglich einfügen
Habe mir ein Herz gefasst und sämtliche Relationen gelöscht sowie Abfragen und selbst Berichte. Die Tabellen habe ich stehen gelassen, auch mit ihren Inhalten, den Auto-Wert geändert und das Gelöschte aus einer Kopie der DB zurückgeführt. Relationen zurück und fertig. Habe nun einen Auto-Wert!