Normalt ville du gøre det med CHECK-begrænsning:
foo_test VARCHAR(50) NOT NULL CHECK (foo_test <> '')
Før version 8.0 havde MySQL begrænset understøttelse af begrænsninger. Fra MySQL Reference Manual :
CHECK-sætningen analyseres, men ignoreres af alle lagerenheder.
Hvis du skal holde dig til en gammel version, skal du bruge triggere som en løsning, som folk har påpeget.
I fremtiden vil du måske tage et kig på PostgreSQL , som anses for at have bedre understøttelse af dataintegritet (blandt andre ting ) af mange mennesker .