我正在尝试查询数据库以仅选择show = 0
的记录这是我的查询,但它为show column
返回0和1SELECT * FROM menu WHERE 'SHOW' = 0;
表格结构:
Table: menu
Columns:
id int(2) AI PK
url text
name text
title text
show int(1)
表中的数据
| id | url | name | title | show |
------------------------------------------
| 1 | /index.php | Home | Home | 0 |
| 2 | /index2.php | Home | Home2 | 1 |
答案 0 :(得分:6)
您不需要单引号。如果您使用任何引号,请使用反引号:
SELECT * FROM menu WHERE `SHOW` = 0;
问题是'SHOW'
是字符串,而不是列名。当它与整数(0
)进行比较时,它将被转换为整数。由于第一个字符是字母,因此转化结果为0
。 。 。条件是真的。
答案 1 :(得分:4)
您不得使用此类报价。而不是,使用:
SELECT * FROM menu WHERE `SHOW` = 0;