php - MySQL 选择其中列为 false 的位置

标签 php mysql

如何选择与 PHP 的 false 等效的列(例如,在 php 中 !$myVar 计算结果为 true)。

到目前为止我已经:

SELECT * from users 
WHERE firstname = '0' 
   OR firstname = ''
   OR firstname IS NULL;

我认为这涵盖了 php 的大部分错误,但剩下的主要问题是......任意数量的空格怎么办?例如,我现在需要对\s+ 进行某种正则表达式检查吗?以及上面的制表符或换行符。还是有更简单的方法来处理所有这些?

编辑:

列数据类型为char(32)

最佳答案

在这种情况下,空格将被视为某种字符,所有特殊字符(例如换行符)也将被视为某种字符。这些不被认为是虚假的。真正的问题是为什么你选择在 MySQL 中以这种方式存储内容。在 MySQL 中存储 bool 值的正常方法是使用 0 或 1。这可以确保一致性,并且意味着您不必对所有查询执行类似的操作。

您的查询将有效,但名字 = NULL 也有效。

关于php - MySQL 选择其中列为 false 的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40181980/

相关文章:

php - 如何在 URL 中转义中文 Unicode 字符?

php - 尝试将数据插入数据库时​​出错。简单的形式

php - 在 PHP 中获取 Contact Form 7 表单 ID

php - 从 mysql 转换为 mysqli (mysql_fetch_array)

php - 将 mysql 查询转换为 laravel eloquent?

php - 使用 php 和 MySql 保存可排序列表的顺序

mysql - SQL - 选择值成为列值?

mysql - 分组分页日期数据

mysql - SEPARATOR 关键字在 Hibernate 公式中无法正常工作

php - Doctrine 在比较时不计算空值