首页 文章

如何向MySQL添加布尔字段?

提问于
浏览
26

看来我应该使用tinyint();但我不知道如何实施它?

问题是如果我需要在MySQL DB中有一个布尔字段并用PHP修改它的值,那么你的建议是什么

5 回答

  • 4

    是的, TINYINT(1) 是要走的路......你也可以使用BOOL or BOOLEAN这是同义词(所以它没有什么区别) .

    0 在PHP中评估为 false1 评估为 true (实际上,除 0 之外的任何其他数字的评估结果为 true ,但通常使用 1 ) .

  • 2

    我不喜欢bool,BIT,TINYINT(1) . 因为它们实际上都不是布尔值 . 您可以查看以下链接以了解“为什么”:

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

    我最好使用:ENUM('false','true')not null - 作为数据类型 . 您可以从PHP传递'true'或'false'(作为字符串) . 它只需1个字节即可存储!

  • 45

    你是正确的,一般的解决方案是 tinyint(1) . 你可以简单地使用BOOL:

    CREATE TABLE example (
             flag BOOL
           );
    
  • 0

    你有tinyint(1)或bit的选项

    将0或1插入此字段

    看到这篇差异的帖子:

    Tinyint vs Bit

  • 2

    我认为既然你真的想在mysql表字段上强制执行一个布尔(0,1)约束,那么最佳镜头是uning enum

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

相关问题