Bei UPDATE IGNORE vorhandenen Datensatz updaten
Verfasst: Samstag 30. September 2017, 14:46
Hallo Leute,
ich habe mal wieder ein ganz besonderes Problemchen:
Ich update auf ein Feld in welchem ich ein UNIQE gesetzt habe (-> Secondary Key).
Es gibt jedoch eine kleine Fehlerquote von ca. 0,001 % welche mich veranlasst hat den UPDATE mit dem Zusatz IGNORE auszuführen (ich manage die Fehler vorerst nachfolgend manuell).
Den Fehler kann ich nicht ausbügeln da die Daten per BeutifulSoup von extern geparsed werden und ich kein Administrator dieser Daten bin.
Ich würde jetzt folgendes haben wollen und frage euch ob das geht und wenn ja wie:
Kann ich dem UPDATE IGNORE-Vorgang auch sagen: bitte wenn du auf diesen Fehler läufst, tue den aktuellen Datensatz nicht nur NICHT UPDATEN sondern update mir das SK-Feld 'match' von 1 auf 0?
(Feld besagt ob ein Treffer (= match) vorhanden ist (=1) oder nicht (=0)).
Ich könnte auch vorher abfragen ob bereits ein Match vorhanden ist, aber die Daten befinden sich bereits in meiner DB in einer 'sekundären' Tabelle und ich habe eine irre lange SQL-Abfrage erstellt mit > 15 JOINS und echt komplex welche den UPDATE von sekundäre Tabelle auf primäre Tabelle entsprechend des Matches ausführt. Ich würde ungern so eine DIN A2-große SQL einmal ausführen um zu prüfen ob es bereits ein Eintrag gibt und wenn nein einfach updaten und wenn ja dann irgendwas zu unternehmen was mir den Matchstatus des bereits in der DB befindlichen Datensatzen up zu daten.
Ich dachte vielleicht gibt es ein anderen Befehl statt des IGNORES welcher mir die Arbeit abnimmt? Oder eine andere Heransgehensweise die ich bisher nicht kenne mit Stored-Procedure und Trigger im Fehlerfall o.ä.?
ich habe mal wieder ein ganz besonderes Problemchen:
Ich update auf ein Feld in welchem ich ein UNIQE gesetzt habe (-> Secondary Key).
Es gibt jedoch eine kleine Fehlerquote von ca. 0,001 % welche mich veranlasst hat den UPDATE mit dem Zusatz IGNORE auszuführen (ich manage die Fehler vorerst nachfolgend manuell).
Den Fehler kann ich nicht ausbügeln da die Daten per BeutifulSoup von extern geparsed werden und ich kein Administrator dieser Daten bin.
Ich würde jetzt folgendes haben wollen und frage euch ob das geht und wenn ja wie:
Kann ich dem UPDATE IGNORE-Vorgang auch sagen: bitte wenn du auf diesen Fehler läufst, tue den aktuellen Datensatz nicht nur NICHT UPDATEN sondern update mir das SK-Feld 'match' von 1 auf 0?
(Feld besagt ob ein Treffer (= match) vorhanden ist (=1) oder nicht (=0)).
Ich könnte auch vorher abfragen ob bereits ein Match vorhanden ist, aber die Daten befinden sich bereits in meiner DB in einer 'sekundären' Tabelle und ich habe eine irre lange SQL-Abfrage erstellt mit > 15 JOINS und echt komplex welche den UPDATE von sekundäre Tabelle auf primäre Tabelle entsprechend des Matches ausführt. Ich würde ungern so eine DIN A2-große SQL einmal ausführen um zu prüfen ob es bereits ein Eintrag gibt und wenn nein einfach updaten und wenn ja dann irgendwas zu unternehmen was mir den Matchstatus des bereits in der DB befindlichen Datensatzen up zu daten.
Ich dachte vielleicht gibt es ein anderen Befehl statt des IGNORES welcher mir die Arbeit abnimmt? Oder eine andere Heransgehensweise die ich bisher nicht kenne mit Stored-Procedure und Trigger im Fehlerfall o.ä.?