Hallo allerseits,
1)
in einer Tabelle einer Datenbank will ich Zahlenpaare ablegen, wobei die 1. Zahl eines Zahlenpaars die Nummer des Zahlenpaars darstellen muß und alle 2. Zahlen jeweils verschieden sein müssen.
Die Nummerierung beginnt bei 1 und zählt dann fortlaufend um 1 hoch.
Ein Datensatz besteht also aus 2 Spalten.
Datensätze konnten also z.B. so aussehen:
1, 1
2, 4
3, 9
4, 16
5, 25
6, 3
7, 19
....
Die Zahl 16 darf nicht eingefügt werden (als 8,16) da die 16 schon mal vorkommt, nämlich im Datensatz (4, 16)
2)
Meine Idee war, die 1. Spalte als Primärschlüssel zu definieren und die 2. Spalte also UNIQUE zu definieren.
Solange ich dann Zahlenwerte einfügen will, die (auf die 2. Spalte) bezogen alle verschieden sind, funktioniert das einwandfrei.
Wenn ich allerdings z.B. die Zahl 16 (als 2. Spaltenwert) einfügen will, wird dieser DB-Zugriff korrekterweise verweigert, aber der Primärschlüssel wird trotzdem hochgezählt und ich habe keine fortlaufende Nummerierung mehr.
Beispiel:
// In die leere Tabelle wird die Zahl 4 eingefügt, als Zahlenpaar:
(1,4)
Wenn ich jetzt nochmals die 4 einfügen will, wird dies verweigert.
Wenn ich jetzt z.b. 17 einfügen will, wird in die DB folgender Datensatz eingefügt:
(3,17)
und mir geht die fortlaufende Nummerierung flöten.
3)
Wie kann ich das Problem lösen ?
4)
Gilt dies auch für eine MS-ACCESS Datenbank ?
mfg
Bh
1)
in einer Tabelle einer Datenbank will ich Zahlenpaare ablegen, wobei die 1. Zahl eines Zahlenpaars die Nummer des Zahlenpaars darstellen muß und alle 2. Zahlen jeweils verschieden sein müssen.
Die Nummerierung beginnt bei 1 und zählt dann fortlaufend um 1 hoch.
Ein Datensatz besteht also aus 2 Spalten.
Datensätze konnten also z.B. so aussehen:
1, 1
2, 4
3, 9
4, 16
5, 25
6, 3
7, 19
....
Die Zahl 16 darf nicht eingefügt werden (als 8,16) da die 16 schon mal vorkommt, nämlich im Datensatz (4, 16)
2)
Meine Idee war, die 1. Spalte als Primärschlüssel zu definieren und die 2. Spalte also UNIQUE zu definieren.
Solange ich dann Zahlenwerte einfügen will, die (auf die 2. Spalte) bezogen alle verschieden sind, funktioniert das einwandfrei.
Wenn ich allerdings z.B. die Zahl 16 (als 2. Spaltenwert) einfügen will, wird dieser DB-Zugriff korrekterweise verweigert, aber der Primärschlüssel wird trotzdem hochgezählt und ich habe keine fortlaufende Nummerierung mehr.
Beispiel:
// In die leere Tabelle wird die Zahl 4 eingefügt, als Zahlenpaar:
(1,4)
Wenn ich jetzt nochmals die 4 einfügen will, wird dies verweigert.
Wenn ich jetzt z.b. 17 einfügen will, wird in die DB folgender Datensatz eingefügt:
(3,17)
und mir geht die fortlaufende Nummerierung flöten.
3)
Wie kann ich das Problem lösen ?
4)
Gilt dies auch für eine MS-ACCESS Datenbank ?
mfg
Bh
Comment