通常,您可以使用CHECK约束来做到这一点:
foo_test VARCHAR(50) NOT NULL CHECK (foo_test <> '')
不幸的是,MysqL对约束的支持有限。从MySQL参考手册:
CHECK子句已解析,但被所有存储引擎忽略。
正如人们所指出的,这就是为什么必须将触发器用作解决方法的原因。
将来,您可能想看看PostgreSQL,PostgreSQL被许多人认为对数据完整性(以及其他方面)有更好的支持。
防止在MySQL中插入空字符串的约束
通常,您可以使用CHECK约束来做到这一点:
foo_test VARCHAR(50) NOT NULL CHECK (foo_test <> '')
不幸的是,MysqL对约束的支持有限。从MySQL参考手册:
CHECK子句已解析,但被所有存储引擎忽略。
正如人们所指出的,这就是为什么必须将触发器用作解决方法的原因。
将来,您可能想看看PostgreSQL,PostgreSQL被许多人认为对数据完整性(以及其他方面)有更好的支持。