关于php:如何在MySQL中添加布尔字段?

How can I add a Boolean field to MySQL?

似乎我应该使用tinyint();但我不知道如何实现它?

问题是,如果我需要在mysql db中有一个布尔字段并用php修改它的值,您的建议是什么?


是的,tinyint(1)是去…您也可以使用BOOLBOOLEAN,它们是同义词(因此没有区别)。

0在php中对false进行评估,1true进行评估(实际上,除0以外的任何其他数字都对true进行评估,但通常使用1进行评估)。


我不喜欢鼻涕,鼻涕,耳鸣。因为它们都不是布尔型的。您可以查看以下链接以了解"为什么":

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

我最好使用:enum("false","true")而不是空-作为数据类型。您可以从PHP传递"true"或"false"(字符串)。存储它只需要1个字节!


您可以选择tinyint(1)或bit

在此域中插入0或1

请看这篇文章的区别:

Tinyint与Bit


你说的对,一般的解决方案是tinyint(1)。简而言之,您可以使用bool:

1
2
3
CREATE TABLE example (
         flag BOOL
       );

我认为,由于您实际上想要在mysql表字段上强制一个布尔(0,1)约束,最好的方法是取消对枚举的绑定。

1
2
3
CREATE TABLE table_name(
    boolean_field_name ENUM('0', '1')
);