Normálně byste to udělali s omezením CHECK:
foo_test VARCHAR(50) NOT NULL CHECK (foo_test <> '')
Před verzí 8.0 měla MySQL omezenou podporu pro omezení. Z Referenční příručka MySQL :
Klauzule CHECK je analyzována, ale ignorována všemi moduly úložiště.
Pokud se musíte držet staré verze, použijte spouštěče jako řešení, jak lidé poukázali.
V budoucnu se možná budete chtít podívat na PostgreSQL , u kterého se má za to, že má lepší podporu integrity dat (mezi další věci ) od mnoho lidí .