buyax
2017-05-24 06:54
采纳率: 53.3%
浏览 5.7k

请教大神sql问题,select语句在where 给定条件,它为什么查询不到数据

情况如下
图片说明

数据库数据
图片说明

sql是没问题
SELECT * FROM kk_table_refresh WHERE id='1';

请教下是哪方面原因

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

8条回答 默认 最新

  • 赵大笨笨 2017-05-24 06:52

    你要是把where删了可以检索到说明你的数据就是不符合条件,你看看你的1是全半角,之前有没有空格

    打赏 评论
  • qq_37739083 2017-05-24 07:03

    看下id是int类型还时chart类型,int类型就不需要加字符串

    打赏 评论
  • wlq199101 2017-05-24 07:03

    SELECT * FROM kk_table_refresh WHERE id=1 ; 试试 一般语言上没毛病 ps 是什么数据库?

    打赏 评论
  • 陈应洲 2017-05-24 07:14

    如果id是int类型where的条件不要加引号

    打赏 评论
  • wlq199101 2017-05-24 07:35

    从sql语言和截图上看不出毛病,
    介绍下 Mysql WorkBench (这不是广告,是我用过,觉得可视化界面最好速度最快的软件)
    图片说明

    打赏 评论
  • qiu旭 2017-05-24 07:52

    这句查询是没问题 我建议你检查下表名是否正确 或者表里是否有这条数据 目前看起来应该是你的表里没这数据图片说明

    打赏 评论
  • 襄阳dou腐面 2017-05-25 03:08

    从其navicat,有时候会出现这种问题,大家用的破解版,还想怎么样啊,sql本身是没有问题的!

    打赏 评论
  • HeRo_OO7 2017-05-25 08:19

    一般出现此类错误时,排查方法是:
    (在此SQL语句写出后,SQL编辑器没有自行波浪线标错的前提下,即:语句中的表和字段是真实存在)
    1.该表中是否存在数据;
    2.where语句中的判断条件,在表中是否存在符合的记录(即:若没有一条满足的记录,那当然查出来没数据);
    3.在满足上述第二步的情况下(即:表中确实有符合条件的记录),那就说明where条件语句写法有问题,常见的有:是否增加或减少了空格,
    是否有特殊字符,以及字段类型是否相符等。进行逐一排查即可。
    常见一般是类型问题,即:表中是int,bigint,decimial类型,SQL语句中当成字符串在处理。

    打赏 评论

相关推荐 更多相似问题