![]() |
Datenbank: SQLite • Version: 3 • Zugriff über: SimpleDelphi-Wrappers von Tim Anderson
Kundennummer generieren?
Hallo,
ich möchte in meiner DB die Kundennummern generieren und brauche ein paar Ideen wie ich das machen soll. Ich kann die letzte Ziffer nehmen und 1 addieren, aber was ist wenn ich die letzte lösche, dann wird zu der vorletzten 1 addiert und ich bekomme schon mal vorhandene Kundennummer, somit wird diese wiederholt, was verboten sein soll. Würde über eure Ratschläge freuen! |
AW: Kundennummer generieren?
|
AW: Kundennummer generieren?
Zitat:
|
AW: Kundennummer generieren?
Eben nicht. Der Link war irgendwie nicht sehr hilfreich.
Zitat:
Allerdings würde ich überlegen, das Datenbankdesign so anzupassen, dass zumindest die Nummer (mit Löschungsdatum) eines gelöschten Kunden gespeichert bleibt. Das erscheint mir robuster. Also zwei Tabellen: CUSTOMER(id, created, deleted) |
AW: Kundennummer generieren?
Zitat:
Hab ich aber getestet und es läuft wie ich gesagt hab. Also jetzt bin ich verwirrt. |
AW: Kundennummer generieren?
in postgresql gibt es sequenzen, die garantiert nur einmal die gleiche zahl zurückgeben. (eigentl. bereits wegen transaktionssicherheit notwendig)
in sqllite scheint es sowas auch zu geben, mußt du mal googlen. ![]() |
AW: Kundennummer generieren?
Zitat:
Code:
Ich kann mir eigentlich kaum vorstellen, dass es am Wrapper liegt.
$ sqlite3 test.sqlite
SQLite version 3.7.13 2012-06-11 02:05:22 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> create table miep (id INTEGER PRIMARY KEY AUTOINCREMENT, foo INTEGER); sqlite> insert into miep values (NULL, 1); sqlite> insert into miep values (NULL, 2); sqlite> insert into miep values (NULL, 3); sqlite> delete from miep where foo = 2; sqlite> insert into miep values (NULL, 4); sqlite> select * from miep; 1|1 3|3 4|4 sqlite> |
AW: Kundennummer generieren?
Na und wenn doch: Eine Tabelle mit einer Zeile und einer Spalte und dort einen streng monoton steigenden Zähler implementieren. Nicht ganz trivial bei multithread, aber kein Problem.
|
AW: Kundennummer generieren?
Zitat:
Du hast eine Zahl irgendwo mittendrin gelöscht, da funkt alles wie es sein soll. Aber lösche mal die letzte Zahl, also die 3 und füge eine neue hinzu, und das wird wieder die 3 sein. Zumindest bei mir so. |
AW: Kundennummer generieren?
Zitat:
Bereits genutzte Kundennummern löscht man nicht. Somit werden doppelte Vergaben vermieden. Nenne mir einen Grund, weshalb du bereits vergebene Nummern wieder löschen willst? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:48 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