我应该使用什么MySQL字段作为是/否复选框值?

时间:2010-09-09 10:15:53

标签: mysql html

我正在使用下面的MySQL表。我想添加一个名为'subcheck'的字段,它将是由HTML表单输入TYPE = CHECKBOX确定的是/否值。我应该给这个新领域什么“类型”?

提前致谢,

约翰

`submission` (
  `submissionid` int(11) unsigned NOT NULL auto_increment,
  `loginid` int(11) NOT NULL,
  `title` varchar(1000) NOT NULL,
  `slug` varchar(1000) NOT NULL,
  `url` varchar(1000) NOT NULL,
  `displayurl` varchar(1000) NOT NULL,
  `datesubmitted` timestamp NOT NULL default CURRENT_TIMESTAMP,
  PRIMARY KEY  (`submissionid`)
)

5 个答案:

答案 0 :(得分:14)

您可以使用TINYINT(1)(BOOL / BOOLEAN只是TINYINT(1)的{​​{3}}。

另一种选择是将Y/N存储在CHAR(1)

我建议使用TINYINT(1)因为它会为您提供最佳的便携性选项。

答案 1 :(得分:2)

布尔值 - 1表示是,0表示否。

(当然,复选框的值必须为1或0)。

比yes / no imo更便携。效率也很高

答案 2 :(得分:2)

我个人更喜欢MySQL中的枚举或设置数据类型。它使数据清晰易读。

答案 3 :(得分:1)

我会使用numeric(1) not null default 0其中0表示false1表示true

答案 4 :(得分:0)

为此,我建议TINYINT(1)。它存储10,表示是或否。它占用的空间非常小,并且在不同的SQL引擎中比常规的bool类型更好地支持。