![]() |
Datenbank: Firebird Embedded • Version: 1.5.3 • Zugriff über: IBX
Primarykey, wie vergeben
Nach welchen Kriterien soll ich beim erstellen eines neuen Datensatzes den PrimaryKey vergeben?
Oder kann ich in der Datenbank einstellen, dass das automatisch passiert? Am einfachsten dachte ich es mir so, dass ich den höchsten Suche und einfach eins dazu zähle. Aber mit welcher Abfrage finde ich am effizientesten den höchsten PK? Viele Grüße Benjamin |
Re: Primarykey, wie vergeben
Was benutzt du denn als PrimaryKey? Falls es eine Laufende Nummer oder GUID sein soll, mach dich mal über Trigger und Generatoren schlau. Die können als Gespann nämlich automatisch den PrimarayKey vergeben, ohne dass man sich drum kümmern muss ;-)
|
Re: Primarykey, wie vergeben
Addiert ein Generator generell 1 dazu?
irgendwie hab ich das jetzt so verstanden, weil man bei IBExpert immer nur den Namen und den Startwert angeben kann. Trigger scheinen mir ein sehr mächtiges Werkzeug zu sein, ich glaube damit kann ich noch ein paar nette Sachen machen. //Edit Ich hab jetzt den Generator und Trigger nach bestem Gewissen erstellt und bekomme trotzdem dauernd die Meldung "Feld 'PRIMARYKEY' muss einen Wert haben." |
Re: Primarykey, wie vergeben
Zitat:
Zitat:
|
Re: Primarykey, wie vergeben
Zitat:
|
Re: Primarykey, wie vergeben
ich setze ihn garnicht, d.h. ich habe ein TDBText
Aber sonst wird nirgends speziell auf den Primarykey eingegangen. |
Re: Primarykey, wie vergeben
Und mit aws ist der DBText verknüpft?
|
Re: Primarykey, wie vergeben
Mit dem DataSource in den auch eingefügt wird
//Edit Ich habe jetzt versucht die DBText-Komponente beim Post und beim ApplyUpdate und beim Insert zu deaktivieren, den Fehler gibts jedesmal trotzdem. |
Re: Primarykey, wie vergeben
Ist die TDBText ( über die dataSource) an eine TTable oder eine TQuery-Komponente gebunden?
|
Re: Primarykey, wie vergeben
An TTable, aber ich glaube ich habs jetzt erledigt.
Ich hab das "Not Null" des Feld des Primarykeys deaktiviert, damit müsste Delphi meine Befehle durchlassen. Und NULL wird es trotzdem nie, da der Trigger sich ja darum kümmert. //Edit mh, jetzt ist dann, bis ich das Programm Neustarte der PK leer, wie kann ich dafür sorgen, dass die Datenbank das synchronisiert? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz