一尘不染

如何在布尔Mysql列上创建“唯一”约束?

mysql

我想BOOLEAN在MySQL表中添加一列,命名为is_default。在此列中,只有一个记录可以is_default设置为true

如何使用mysql将这个约束添加到我的列中?

谢谢!


更新

如果不是一个限制,我应该添加。我们如何处理数据库上的此类问题?


阅读 355

收藏
2020-05-17

共1个答案

一尘不染

我认为这不是对单个默认值的情况进行建模的最佳方法。

取而代之的是,我将IsDefault列留在外面,并创建一个单独的表,该表只有一行,并且只有构成主表主键的列。在此表中,放置标识默认记录的PK值。

这样可以大大减少存储量,并避免了在更新时暂时没有默认值(或者暂时没有 两个 默认值)的更新问题。

您可以使用多种选择来确保默认表中只有一行。

2020-05-17