Обикновено бихте направили това с ограничение CHECK:
foo_test VARCHAR(50) NOT NULL CHECK (foo_test <> '')
Преди версия 8.0 MySQL имаше ограничена поддръжка за ограничения. От Справочно ръководство за MySQL :
Клаузата CHECK се анализира, но се игнорира от всички машини за съхранение.
Ако трябва да се придържате към стара версия, използвайте тригери като заобиколно решение, както хората посочиха.
В бъдеще може да искате да разгледате PostgreSQL , за който се счита, че има по-добра поддръжка за целостта на данните (сред други неща ) от много хора .