数据库存储值

时间:2011-08-30 03:19:24

标签: php mysql database forms database-design

我只是想得到不同的人的意见,因为出于某种原因我不是在寻找合适的地方,但是大多数人使用的是什么,或者更好的是什么是最容易被存储在数据库中的东西有效值或无效值。我正在考虑为状态创建一个数据库表,第一个是Active,另一个是Inactive,然后在创建新的内容页面时有一个表单,并且选择了active(1)或者inactive的下拉值( 2)并存储1或2作为该内容页面的status_id。

这是最好的方式还是有更好的方法?

3 个答案:

答案 0 :(得分:3)

我通常只使用布尔值。 0表示无效,1表示有效。

答案 1 :(得分:1)

你可以使用boolean和enum('Active','Inactive')来实现相同的

答案 2 :(得分:1)

这取决于您使用的数据库以及它支持的数据类型。如果它有Boolean值的内置类型,我会使用它,否则我会使用带有char(1)的{​​{1}}来检查允许的值(check constraint / 01 / n),因为它比任何其他类型都快,并且可以完成工作。

如果你有多个布尔标志(相关但不是必需)并且不需要支持NULL(这是第三个状态),那么我会选择y列如果您的数据库支持(numeric1=true,则为位标志,第一个用于标志1,第二个用于第二个标志,等等)。 Mysql对位操作有很好的支持,请参阅here