yo,
Warum?
Das Abfangen von Fehlern ist auch eine Methode der Programmablaufsteuerung.
viele wege führen nach rom, beides ist sicherlich eine lösung und jeder kann sich seine "bessere" aussuchen. error handling ist sicherlich eine sehr gute methode.
Da würde ich dann eher das INSERT _nur_ versuchen, wenn der einzufügende UserName _nicht_ Null ist. Das kann die Programmroutine prüfen, weil sie ohnehin prüfen muss, was dort drin steht.
das wäre ein wenig durcheinander gewürfelt. wenn ich schon constraints einsetze, dann um es so wasserdicht wie möglich zu machen, sprich die datenbankintegrität wird ohne auswärtigen programmcode gewährleistet. und unique deckt die NULL werte alleine nicht ab. man könnte auch ganz auf constraints verzichten und alles per programmcode lösen. aber warum bei einen "halben" constraint schluss machen ?
Ilja