只有1个值的MySQL数据类型?

时间:2014-02-08 22:57:12

标签: mysql sql types

有什么办法可以创建一个只有一个值的列? 仅举true例如,没有其他值!

我想创建一个带NULL的布尔类型。

true = TRUE | NULL = FALSE)

由于

2 个答案:

答案 0 :(得分:3)

如果您的关注是效率,那么最好的选择是使用BIT(1)(在更新的版本中)而不允许NULL。允许字段中的NULL实际上会占用更多空间和性能,因为它需要额外的数据结构。

答案 1 :(得分:1)

添加带有一个值的枚举的想法是猜测。数据库设计者显然认为它没用。

您可以采用在您选择的类型的某个适当字段上添加值始终为1或NULL的约束的方法。

唉,MySQL没有实现检查约束。所以你有两个选择。

第一种是使用更新/插入触发器来强制执行逻辑。哎呀,但可能。

另一种方式是外键约束,它引用只有一行的表。这是一种相对简单的方法来强制执行这种情况。