将是/否单选按钮存储到MySQL数据库中

jjw*_*ign 5 html php forms jquery codeigniter

我已经看到了一个Yes/No形式的单选按钮值,可以通过几种不同的方式存储/保存.我想知道哪种方式更好,为什么?这是针对PHP/MySQL应用程序的一个典型的是/否问题作为表单的一部分.

1.)将其存储为1,0或null.1为是,0为否,无回答为空.

2.)将其存储为是,否,为空.假设可以进行语言转换.

3.)使用1,2和null,以便更好地区分值.

谢谢,杰夫

编辑:我还必须提到,由于jQuery/JavaScript以及比较和$()绑定,大多数问题都已出现.

Hub*_*bro 6

使用TINYINT(1).NULL如果您希望"未应答"选项,请允许.您也可以使用BOOLEAN它,因为它只是上述数据类型的别名.MySQL推荐这种存储布尔数据的方法.

更多细节:用于存储布尔值的MySQL数据类型


sti*_*vlo 4

由于MySQL有BOOLEAN类型,但它只是TINYINT的别名。我建议不要这样做,因为 PHP == 中的等号无法区分 0 和缺少值。你总是需要使用三重等于===,这很容易出错。

至于你的选择:

  1. 这似乎是 PHP 的自然选择,但是你必须小心区分 0 和缺乏值,所以我不推荐它。

  2. 我不会推荐这个。

  3. 可能,但对 1 和 2 的分配有些随意,并且可能难以在代码中记住和阅读。

我通常做的是在 CHAR(1) 字段中使用“Y”、“N”和 NULL(如果需要),它在代码中读起来很好并且不会产生问题。