zoukankan      html  css  js  c++  java
  • mysql—mysql查询语句提示Unknown column ‘xxx’ in ‘where clause’

    运行结果中提示Unknown column ‘xxx’ in ‘where clause’的问题。
    经过大神的指导,顿时明白其中缘由,如果sql中定义的类型是int型的可以不用加引号,但是如果是字符串类型的,必须加引号。
    例如:

    select ID from vc_diagram where USER_ID = "+QaUtil.user_id +" AND NAME = "+diagramName+";

    查询时会报Unknown column ‘xxx’ in ‘where clause’
    因为USER_ID是整型,NAME是字符串类型,sql中字符串类型必须要包含在引号内,所以修改为:

    select ID from vc_diagram where USER_ID = "+QaUtil.user_id +" AND NAME = '"+diagramName+"';

    问题解决,完美!

    PS:还有一种问题,如果是整形,加(单)引号内反而报Unknown column ‘xxx’ in ‘where clause’的错,需要去掉引号才行。

    select * from (select t.*,FROM_UNIXTIME(timeline,'%Y-%m-%d') as timeline0 from `boc_circle_post` t) as T  where T.timeline >=1593532800 and T.timeline < 1598889600 

    PS:这一点跟Oracle也是不同,Oracle一般都加引号都可行且更保险不会报错。

  • 相关阅读:
    为什么需要域驱动设计(DDD)?
    什么是无所不在的语言?
    什么是耦合?
    什么是 Spring Cloud?
    你更倾向用那种事务管理类型?
    您对微服务有何了解?
    微服务架构有哪些优势?
    微服务架构如何运作?
    @Qualifier 注解 ?
    JdbcTemplate ?
  • 原文地址:https://www.cnblogs.com/Formulate0303/p/13684349.html
Copyright © 2011-2022 走看看