mysql - 如何从值不是...的 mysql 表中进行选择?

标签 mysql where-clause

输入:

$result = $db->query('SELECT * 
         FROM data 
         ')->fetchAll(PDO::FETCH_ASSOC);

结果:

id    name   status
1     dog    ok
2     frog

输入:

 $result = $db->query('SELECT * 
             FROM data 
             WHERE status = `ok`
             ')->fetchAll(PDO::FETCH_ASSOC);

结果:

id    name   status
1     dog    ok

输入:

 $result = $db->query('SELECT * 
             FROM data 
             WHERE status != `ok`
             ')->fetchAll(PDO::FETCH_ASSOC);

结果:

id    name   status

输入:

 $result = $db->query('SELECT * 
             FROM data 
             WHERE status <> `ok`
             ')->fetchAll(PDO::FETCH_ASSOC);

结果:

id    name   status

我希望得到的结果是 WHERE status is NOT ok

id    name   status
2     frog

最佳答案

试试这个...

$result = $db->query("SELECT * FROM data WHERE status <> 'ok' ")->fetchAll(PDO::FETCH_ASSOC); 

或者如果您要查找状态为空的行,请尝试...

$result = $db->query("SELECT * FROM data WHERE status = '' ")->fetchAll(PDO::FETCH_ASSOC); 

如果您想使用单引号,请使用以下内容:

$result = $db->query('SELECT * FROM data WHERE status <> \'ok\' ')->fetchAll(PDO::FETCH_ASSOC); 

注意引号用斜线转义。

关于mysql - 如何从值不是...的 mysql 表中进行选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47532729/

相关文章:

mysql - 在mysql中实现rfc4226(HOTP)的部分内容

php - 我应该在 mysql 中使用时间戳字段作为时区或其他字段吗?

MySQL 错误 1045 (28000) : Access denied for user 'bill' @'localhost' (using password: YES)

mysql - 如何匹配值为零或一及更大的记录

PHP MYSQL 'AND' 子句对面

c# - 在更新方法中使用 LINQ - where 子句出现问题

mysql - 如何选择两列最大值的位置

sql - Rails ActiveRecord where 或子句

php - Laravel 如何仅在新插入时递增?

mysql - 按日期查找每个不同列值的最新记录