dedlfix: Kein Zugriff nach Änderung

Beitrag lesen

Hi!

aber 'userid' bleibt in beiden Zeilen leer - wären also doppelt. NULL würde das wahrscheinlich auch nicht ändern, oder?

Doch. NULL ist eine Sonderform. Wann immer ein NULL im Spiel ist, ist das Ergebnis einer Operation auch NULL. Im boolschen Kontext evaluiert das immer zu false, womit als Ergebnis eines Vergleichs von NULL mit NULL immer false rauskommt. Man könnte das nun so sehen, dass die Unique-Prüfung feststellt, dass das neu einzutragende NULL verglichen mit den bereits bestehenden NULLs nicht gleich ist und damit einen anderen Wert darstellt. In Wirklichkeit wird es wohl eher so sein, dass die NULL-Werte gleich gar nicht in den Index aufgenommen werden und somit auch nicht beachtet werden.

Im fertigen script würde ich diese Fehlermeldung nicht bekommen, weil nach jedem Testeintrag und KEINER Fehlermeldung der Eintrag sofort wieder gelöscht wird.

Mag sein, aber beim Entwickeln muss man gelegentlich zusätzlichen Code schreiben, um seine eigenen Denk- und Programmierfehler zu finden. Du musst also erst einmal herausfinden, ob deine Überlegungen und der daraus resultierende Code für alle vorkommenden Anwendungsfälle korrekt sind und das gelegentlich mit der Ausgabe von Fehlermeldungen überprüfen. Der Code dazu kann im Endprodukt wieder gelöscht werden.

Lo!