我应该使用整数来保存布尔值吗?

时间:2012-01-12 15:02:21

标签: php mysql

我为我的前端网页创建了以下下拉列表:

<select>
   <option value="All">All</option>
   <option value="carer">Carer</option>
   <option value="childminder">Childminder</option>
   <option value="children_socialcare">Children Social Care</option>
   <option value="creche">Creche</option>
</select>

我已经设置了mysql数据库,将所有选项值都作为字段:

Type=INT(1) Null=Yes; Default=Null

我将这些设置为整数,因为我正在复制来自单词格式的数据,其中选择选项是复选框。

mysql表:

mysql> family_support;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| carer   | int(1)      | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+

虽然潮流可以这样使用整数(不仅仅是数值)?

1 个答案:

答案 0 :(得分:3)

我认为问题是:我应该使用整数来保存布尔值吗?

是的,你应该。我建议使用TINYINT(1) NOT NULL。使用值1(TRUE /选中/选中)和0(FALSE /未选中/未选中)。

在较新的MySQL版本中,您可以使用字段类型BOOL / BOOLEAN,这只是TINYINT(1)的别名。

见这里:http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html