mysql查询语句提示Unknown column ‘xxx’ in ‘where clause’

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

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

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

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

问题解决,完美!

你可能感兴趣的:(MySQL)