BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

ID Spalte zu Primärschlüssel machen und automatisch erhöhen

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
jeo2
Beiträge: 1
Registriert: Di 27. Sep 2011, 12:48

ID Spalte zu Primärschlüssel machen und automatisch erhöhen

Beitrag von jeo2 » Di 27. Sep 2011, 13:03

Hallo,

wie kann ich die ID Spalte bei einer Tabelle (ich habe insg. fünf Spalten, ID ist die erste) automatisch zählen/erhöhen lassen, wenn ich eine neue Zeile beginne. Bis jetzt muss ich jedesmal 34, 35, 36 usw. eingeben, wenn ich in einer neuen Zeile Daten eingeben will. (Und, das fällt mir gerade ein: Wie kann ich in einer Spalte, die für z.B. 50 Zeilen immer den selben Wert hat, z.B. immer die gleiche Motorradmarke "Yamaha", einstellen, dass das automatisch eingetragen/übernommen wird?)

Gehe ich mit einem Rechtsklick auf das Feld "ID" kann ich zwischen Spaltenformatierung ..., Spaltenbreite ... und Ausblenden wählen. Im Punkt Spaltenformatierung, wo man das, schätze ich mal, einstellen kann, habe ich aber nichts gefunden.

Außerdem habe ich gehört, dass ein Primärschlüssel wichtig sein soll, wenn ich Daten aus bestimmten Feldern anderswo auch noch benutzen, z.B. für eine Rechnung weiter verwenden will. Wie stelle ich die ID Spalte als Primärschlüssel ein? (Beim Punkt Spaltenformatierung habe ich wieder nichts gefunden. Als ich mit dem Assistenten die Tabelle kreiert habe, habe ich allerdings die empfohlene Einstellung belassen, dass es einen Primärschlüssel geben soll. ?-? )

Danke!




Edit:

Ich bin mittlerweile etwas weiter:

Ich habe in der "Steuerzentrale" (dort, wo man auf der linken Seite zwischen Tabellen, Abfragen, Formulare, Berichte wählen kann), im Punkt Tabellen meine Tabelle angeklickt, rechts klick, "Bearbeiten" und bin dort zu einer Übersicht gekommen, wo ich die Spalten mit ihren jeweiligen Eigenschaften konfigurieren kann.

Dort steht auch, dass die Spalte "ID" bei mir schon als Primärschlüssel definiert ist.

Ich habe nun bei "ID" unter den Feldeigenschaften bei "Auto-Wert" "ja" ausgewählt.

Außerdem habe ich bei einer weiteren Spalte (die Motorradmarke) als Defaultwert meinen entsprechenden Wert eingegeben. (den ich dann wohl alle 40, 50 Zeilen ändere - bei einer neuen Marke)

Der Defaultwert funktioniert auch soweit, sobald ich eine neue Zeile mit Daten füttern will. Allerdings steht in der ID Zelle der neuen Zeile nun nicht mehr eine Zahl (bzw. die Zahl, die dort stehen müsste), sondern "<Auto-Feld>".

Kann mir jemand was dazu sagen? (Steht anstatt der Zeilenzahl nun einfach immer nur "<Auto-Feld>" dort? Sind die Zeilen trotzdem "indexiert" bzw. anderswo verwendbar?)

Edit 2:

Hat sich erledigt. Die ID Spalte zählt nun richtig. Und auch die Defaultspalte funktioniert einwandfrei.

komma4
Beiträge: 185
Registriert: Sa 13. Aug 2011, 10:01
Wohnort: Chonburi Thailand Asia
Kontaktdaten:

Re: ID Spalte zu Primärschlüssel machen und automatisch erhö

Beitrag von komma4 » Di 27. Sep 2011, 14:54

for the records

Ändern einer Tabelle, Primärschlüssel setzen:

Code: Alles auswählen

alter table "Tabelle1" add primary key("id")

Ändern einer Spalte, Eigenschaft Autoinkrement zuweisen:

Code: Alles auswählen

alter table "Tabelle1" alter column "id"  identity

Beide Anweisungen für eine interne Datenbank des Types HSQLDB, beides über Extras>SQL... eingeben und ausführen
Cheers
Winfried
aktuell: openSuse 13.1 mit LO 4.3.7.2
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als Extension)

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten