dedlfix: Kein Zugriff nach Änderung

Beitrag lesen

Hi!

Das ist keine (Fehler)meldung sondern nur die Anzeige des Statements, das dazu ausgeführt wird. [...] Wenn die Ausführung fehlerhaft war, dann steht da üblicherweise auffällig noch mehr Text da.
Das ist schon klar. Ich wollte auch nur sagen, dass es klappte und ich keinen Nicknamen zweimal schreiben kann.

Das kann man an dem ALTER-Statement ja noch nicht ablesen.

Ich bekomme allerdings auch keine Fehlermeldung, wenn ich versuche einen Nicknamen zweimal zu schreiben.

Da muss eine Meldung wie folgt ausgegeben werden: #1062 - Duplicate entry 'x' for key 'y'

Nun habe ich wieder gegoogelt, aber kein Beispiel für eine Abfrage nach der Unique-Constaint-Verletzung gefunden. Ich frage nur ungern, weil ich, wenn mir jemand fertige Sachen vorlegt, nichts lerne, aber wie sieht die Abfrage aus? Macht man das auch mit mysql_err() oder so?

Ja, das ist eine Fehlermeldung, die mit dem üblichen Funktionen zu Fehlermeldungen ausgewertet werden kann, als da wären mysql_error() und mysql_errno(). Der Meldungstext variiert und ist für eine maschinelle Auswertung wenig brauchbar, aber es gibt die Fehlernummer, die du eindeutig vergleichen kannst.

Der Code sieht im Allgemeinen so aus, wie man eine Abfrage inklusive Fehlerbehandlung macht. Dazu kommt eine Auswertung dieser einen speziellen Meldung, denn da diese erwartet wird, soll auf sie ja gesondert reagiert werden als auf irgendwelche anderen Fehlerzustände.

Lo!