Einfachste Methode zum erstellen einer auto-increment-Feld in Firebird Datenbank
Gibt es eine einfache Möglichkeit zum erstellen von auto-Inkrement-Feld mit Firebird? Ich installiert haben FlameRobin-admin-tool, aber der Prozess der erstellen ein auto-Inkrement-Feld durch das tool ist Komplex. Kann ich nicht schaffen, wie eine Identität Feld, indem Sie einfach auf ein Kontrollkästchen oder mit einem anderen Werkzeug andere als Flamerobin?
InformationsquelleAutor gomesh munda | 2016-01-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Firebird 2.5 und frühere Versionen haben keine auto-Inkrement-Felder. Sie müssen diese selbst erstellen mit einer Sequenz (auch bekannt als generator) und einen trigger.
Folge ist der SQL-standard Begriff und generator ist die historische Firebird Begriff, Sie sind beide verwendet.
Zu erstellen einer Sequenz:
Erstellen Sie einen trigger zum erzeugen immer die id für eine Tabelle
T1
mit primary keyID
:Siehe auch: So erstellen Sie eine autoincrement-Spalte?
Firebird 3 macht es ein wenig einfacher, als es einführt, identity-Spalten. In der Praxis ist es syntaktischen Zucker für die Erzeugung eines sequence + trigger für Sie.
Beispielsweise
Firebird 3 unterstützt nur "
generated by default
", was bedeutet, dass Benutzer können festlegen, Ihre eigene id-Werte (welche vielleicht doppelte Wert-Fehler); "generated always
" Hinzugefügt Firebird 4.Siehe auch die Firebird 3 release notes, Abschnitt "Identity-Spalte Typ".
Flamerobin bietet auch Werkzeuge zum erstellen einer sequence + trigger für Sie. Wenn Sie eine vorhandene Tabelle, die Sie können gehen Sie folgendermaßen vor:
Öffnen Sie die Tabelle Eigenschaften:
Öffnen Sie die Spalte Eigenschaften der primary key-Spalte
Standard-Spalte Eigenschaften wählen Sie neuen generator und create trigger:
Generator (Sequenz) und die trigger-code generiert flamerobin. Beachten Sie, dass im Gegensatz zu meinem Beispiel oben dieser trigger ermöglicht es einem Benutzer, geben Sie Ihren eigenen id-Wert, mit etwas Logik, um zu vermeiden Zukunft Duplikate. Führen Sie diese (und vergessen Sie nicht, zu Begehen):
InformationsquelleAutor Mark Rotteveel