MySQL 查询返回的结果多于应有的结果

标签 mysql

我有这个疑问;

SELECT * FROM (`products`) WHERE `show_in_store` = 1 AND 
`category` = '8' AND `stock` >= 0 AND `name` LIKE '%a%' 
 OR `description` LIKE '%a%' ORDER BY `product_id` asc 

它应该只返回一些结果(类别设置为 8 的结果),但它会返回所有内容,包括具有不同类别的结果...

LIKE 函数是否覆盖了 AND 语句,或者是排序问题?

最佳答案

尝试为

SELECT * FROM `products`
WHERE 
 `show_in_store` = 1 
  AND `category` = '8' 
  AND `stock` >= 0 
  AND ( `name` LIKE '%a%' OR `description` LIKE '%a%')
 ORDER BY `product_id` asc 

关于MySQL 查询返回的结果多于应有的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23458192/

相关文章:

php - 在 CakePHP 的 Router 文件中获取 Controller 名称和 SQL 查询?

PHP 在 session 中存储数据库凭据

php - 使用 db::paginate() 时 laravel API 资源收集错误 "Cannot use object of type stdClass as array"

mysql - MYSQL 中 int(11) 数据类型面临的问题

mysql - 如果我安装卷,Docker mysql :5. 6 会退出并显示代码 141

php - 如何在zend-framework 2的页脚中显示动态数据

mysql - Jhipster - 登录失败

php - 如何在插入表之前检查表中是否存在值?

php - 当用户登录我的系统时,如何保存他们的日期、时间和 IP?

php - 尝试连接到数据库时出现奇怪的错误