Gelöst: Auto-Wert nachträglich einfügen

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Lafaiete
**
Beiträge: 30
Registriert: Fr, 10.09.2010 20:18

Gelöst: Auto-Wert nachträglich einfügen

Beitrag von Lafaiete »

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
Zuletzt geändert von Lafaiete am Di, 01.03.2011 17:45, insgesamt 1-mal geändert.
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Auto-Wert nachträglich einfügen

Beitrag von komma4 »

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!
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)
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Auto-Wert nachträglich einfügen

Beitrag von DPunch »

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.
gogo
*****
Beiträge: 207
Registriert: Mi, 10.11.2010 13:11

Re: Auto-Wert nachträglich einfügen

Beitrag von gogo »

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
g
LucidLynx/WinXP LibreOffice v3.3.2 ab 03/12 v3.3.2 & v3.4.5
Lafaiete
**
Beiträge: 30
Registriert: Fr, 10.09.2010 20:18

Gelöst: Auto-Wert nachträglich einfügen

Beitrag von Lafaiete »

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!
Antworten