Jepp. (Auch der Vorschlag von Felix ("" → NULL in PHP) verschiebt die Integritätsprüfung in die Applikation.)
Sonst kommt man früher oder später immer auf das Problem, dass ein Zugriff an dem spezifischen Code-Pfad vorbei etwas einträgt, was nicht vorgesehen war.
Ich will nicht verschweigen, dass auch bei meiner Lösung ein Eintrag in die Tabelle ohne den Umweg über die View das Eintragen von "" ermöglicht.
Ich teste gerade mal
… check (spalte not like '')