MySql查询无法正常工作

And*_*son 2 mysql database

我正在尝试查询数据库以仅选择show = 0的记录

这是我的查询,但它为show列返回0和1

SELECT * FROM menu WHERE 'SHOW' = 0;
Run Code Online (Sandbox Code Playgroud)

表结构:

Table: menu
Columns:
  id    int(2) AI PK
  url   text
  name  text
  title text
  show  int(1)
Run Code Online (Sandbox Code Playgroud)

表中的数据

| id |     url     | name | title | show |
------------------------------------------
| 1  | /index.php  | Home | Home  | 0    |
| 2  | /index2.php | Home | Home2 | 1    |
Run Code Online (Sandbox Code Playgroud)

Gor*_*off 6

您不需要单引号.如果您使用任何引号,请使用反引号:

SELECT * FROM menu WHERE `SHOW` = 0;
Run Code Online (Sandbox Code Playgroud)

问题是它'SHOW'是一个字符串,而不是列名.当它与integer(0)进行比较时,它将被转换为整数.因为第一个字符是字母,所以转换结果0...条件是真的.