我们就如何在 MySQL 数据库中保存新引入的复选框值进行了一些讨论。复选框可以是“开”或“关”,但有时根本不显示。我的想法是简单地将状态保存到 BOOL NOT NULL 字段。然后我们有0或1。我的同事然后说要包括NULL,所以我们可以看到没有做出选择。
但是,我确实认为 BOOL 字段永远不应包含 NULL。你想要它,但它是真还是假,不是未知的。如果您真的想保存“未知”的额外状态,我会将字段设为 TINYINT,没有选中 = 0、选中 = 1 和未知 = 2。这也可以是一个 ENUM 字段。
您如何看待可能为 NULL 的 BOOL 字段?