Seite 1 von 1

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

Verfasst: Di 27. Sep 2011, 13:03
von jeo2
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.

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

Verfasst: Di 27. Sep 2011, 14:54
von komma4
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