Jörg: mysql Insert Row if not exists

Beitrag lesen

Hi Rolf,

Da ich Nummernkreise hochzähle

Was zum grundgütigen Geier tust Du da? Probierst Du durch, ob eine bestimmte Kombi von "Bla" und "Blu" noch frei ist und machst dafür dann einen INSERT?

Das riecht nach ineffizientem Algorithmus und Bedarf nach besseren Ideen. Magst Du uns erzählen, wofür Du das brauchst?

Vergiss die Blu und Bla, die waren im Beispiel einfach "konstruiert".

Was das Nummernkreis hochzählen angeht, da geht es um den Prozess der Rechnungsnummernerstellung, die einer race condition unterliegt, die ich mit einem einfachen INSERT on DUPLICATE UPDATE nicht einfangen kann, also muss der komplette Prozess im Falle des Falles neu durchlaufen werden.

Im aktuellen Beispiel geht es wieder um etwas anderes, nämlich das automatische Erstellen von Vorgängen, zugehörigen Rechnungen und deren Zertifizierung und Versand. Läuft monatlich über cron, aber ab und an ist mal ein Haken drin und dann ist es relativ aufwändig, den Prozess entweder manuell zuende zu führen oder automatisiert an der Stelle fortzuführen, die für den Abbruch sorgte.

Deshalb habe ich eine Kontrolltabelle angelegt, in die vorab alle benötigten Dokumente und deren Zeitpunkt der Fertigstellung eingetragen werden. Wenn dann mal irgendwan ein Abbruch erfolgt, kann ich deutlich leichter der autom. Prozess wieder anstoßen.

Jörg