MySQL Autowert auslesen vor Speicherung
PhilS
Gesendet: 18.01.16 07:22
Betreff: RE: MySQL Autowert auslesen vor Speicherung


Veteran

Beiträge: 137
10025

sks - 16.01.16 01:17 Bei der Verwendung von per ODBC verlinkten MySQL steht der Zählerwert (Autowert) hingegen erst nach der Speicherung des neuen Datensatzes zur Verfügung. Frage : Gibt es eine technische Möglichkeit, bereits vor der Speicherung des MySQL Datensatzes dessen Autowert auszulesen ?

Nein, das ist nicht möglich. Bei MySQL (und allen anderen Server-DBMS) wird ein Autowert erst in dem Moment generiert, in dem der Datensatz in die Tabelle geschrieben wird.

Lösungsmöglichkeiten

  1. Du änderst die Anwendungslogik so, dass die Anwendung den neuen Autowert erst nach dem Speichern der Daten benötigt. Das bisherige Vorgehen Kind-Datensätze schon zu speichern, bevor der Haupt-Datensatz wirklich gespeichert ist, halte ich ohnehin für fragwürdig. - Kritische Fragen dazu: Ist Referentielle Integrität definiert? Werden die Daten in einer Transaktion geschrieben? Was ist wenn, die Kind-DS geschrieben wurden, aber das endgültige Speichern des Haupt-DS nicht passiert?
  2. Du baust dir eine eigene Nummernkreisverwaltung für "Auto-Werte" auf, anstelle die eingebaute Autowert-Funktionalität zu nutzen. Dann kannst du selbst einen neuen Wert abrufen, wann immer du ihn brauchst und bist unabhängig vom eigentlichen Einfügen in die Tabellen. - Das würde ich nur machen, wenn es dafür wirklich eine echte Notwendigkeit gibt.

 


-----
https://codekabinett.com/
Top of the page Bottom of the page