看起来我应该使用 tinyint();但是我不知道如何实现它?
问题是,如果我需要在 MySQL 数据库中拥有一个布尔字段并使用 PHP 修改它的值,您有什么建议?
TINYINT(1)
是一个不错的选择,你也可以使用其同义词BOOL
或BOOLEAN
,它们没有区别。
0
在PHP中代表false
,1
代表true
(实际上,除了0
之外的任何数字都被视为true
,但通常使用1
)。
'false'
实际上是具有真值(truey)的,这有点讽刺。 - jonbaldie你说得对,通用解决方案是 tinyint(1)
。你可以使用 BOOL 来代替:
CREATE TABLE example (
flag BOOL
);
我认为,如果您想在MySQL表字段上强制使用布尔(0,1)约束,则最好的方法是使用枚举。
CREATE TABLE table_name(
boolean_field_name ENUM('0', '1')
);