dedlfix: (mysql+php) doppelte Einträge vermeiden

Beitrag lesen

Ich sehe an dieser Stelle keinen Unterschied, ob ich einem richtig angewendeten Einzel-Insert oder einem richtig angewendeten Mehrfach-Insert vertraue, dass es seine Arbeit richtig macht oder nicht. Wenn die Datenbank mir keine Fehler zurückliefert war beides erfolgreich.

Und wenn nun ein Fehler gemeldet wird, welcher Datensatz war dann davon betroffen?

Wenn ich das richtig sehe, dann halte ich deine Vorgehensweise für bedenklich: Du lässt also die Datenbank überprüfen, ob ein bestimmtes Datum in ein bestimmtes Feld passt? Ist es nicht besser, im Vorfeld zu prüfen, ob die Eingabedaten i.O. sind? Ich hoffe, ich irre mich da (bei der ersten Frage; bei der zweiten hoffentlich nicht). Oder welche Fälle gibt es da noch, dass einzelne Insert nicht funktionieren, die ich nicht schon durch das IGNORE ausgeschlossen habe?

Ob am Ende das Ergebnis rauskommt, das ich bezweckt habe ist doch nicht zwingend von der Art und Weise abhängig, wie ich zum Ziel gelange. Das muss ich in jedem Fall durch geeignete Test während der Programmerstellung prüfen.

Die Tests während der Programmerstellung haben doch nichts mit dem dynamischen Datenverhalten und den bei vernünftigen Applikationen zwingend notwendigen Konsistenz- und Integritätsprüfungen zu tun, oder? Wie willst Du denn versäumte Prüfungen später nachholen, wenn der Satz bereits in der Anonymität der Menge verschwunden ist?

Durch ein Prüfen der Daten, _bevor_ ich die Datenbank damit füttere. Dieses Vorgehen wird zu Recht bei nicht vertrauenswürdigen Daten immer wieder gefordert.