Thilo: mysql insert ignore into... Rückgabewert doppelte?

Beitrag lesen

Hallo,

Du musst erst einmal im MySQL-Handbuch nachlesen, was dieses für Möglichkeiten beim INSERT IGNORE anbietet. Nur das kann ja dann PHP übernehmen. Ich vermute es wird affected Rows geben und vielleicht noch Warnings, aber ansonsten wird es beim Ignore nicht viel anderes geben.

na ja das Handbuch antwortet da etwas irritierend drauf:

"Wenn Sie das Schlüsselwort IGNORE angeben, werden Fehler, die während der Ausführung der INSERT-Anweisung auftreten, als Warnungen behandelt. So würde beispielsweise ohne IGNORE ein Datensatz, der einen vorhandenen eindeutigen Index oder einen Primärschlüsselwert in der Tabelle dupliziert, einen Dublettenfehler verursachen, woraufhin die Anweisung abgebrochen würde. Bei IGNORE wird der Datensatz zwar auch nicht eingefügt, aber es wird kein Fehler ausgegeben. Bei Fehler auslösenden Datenkonvertierungen wird die Anweisung abgebrochen, wenn IGNORE nicht angegeben ist. Bei IGNORE hingegen werden ungültige Werte auf den jeweils nächstgelegenen gültigen Wert gesetzt und dann einfügt; außerdem werden Warnungen erzeugt, aber die Anweisung wird nicht abgebrochen. Mit der C-API-Funktion mysql_info() können Sie ermitteln, wie viele Datensätze tatsächlich in die Tabelle eingefügt wurden."

Erster Satz = Warnungen
Dritter Satz = Doch keine Warnung?

Wie ist das überhaupt mit Rückgabewerten(Warnungen/Hinweise)? Ich sehe die ja niemals nach einem Insert, wenn alles OK ist. Ist da trotzdem eine Möglichkeit diese zu sehen?

Gruss
Thilo