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

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

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

布尔字段也可以解释为1和0,因此使用tinyint字段将导致更快的数据库。如果你索引得更快。以下所有答案对你来说都是不值钱的!@felix@matthew@haim干得好

@埃特巴尔是的,的确,一切都很有帮助!

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

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

非常感谢,已经实现了!

@felix kling除0以外的任何其他数字的计算结果都为true dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html

@维斯瓦纳坦:事实上,在本例中,我所说的是PHP,而不是MySQL。

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

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

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

为什么不枚举("0","1")。

实际上,具有讽刺意味的是,字符串'false'在PHP中是Truey。

@是的,你可以。这将有助于在读取时在PHP中自动进行类型转换。但是使用枚举并不是一个安全的实践,因为您可能忘记了从PHP传递字符串。如果有人错误地声明了枚举("1"、"0"),会发生什么?我看到很多密码,比如"是"、"否"。

约恩巴迪是的。

您可以选择tinyint(1)或bit

在此域中插入0或1

请看这篇文章的区别:

Tinyint与Bit

感谢您的澄清!

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

CREATE TABLE example (

flag BOOL

);

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

CREATE TABLE table_name(

boolean_field_name ENUM('0', '1')

);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值