Veteran
Beiträge: 137
| 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 - 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?
- 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/ |