我正在使用最简单的 SQL 子句来检索用户 ID,
String query = "SELECT * FROM `login` WHERE `user_id` LIKE `userid` ";
这里user_id是列,userid是输入变量,不为空,
调试时,系统总是报如下错误,
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'userid' in 'where clause'
我可以打印 userid 为 Allan,userid 是 String 类型,当前值为“Allan”。为什么系统无法比较列和输入变量?
非常感谢您!
迷迭香
最佳答案
您需要将字符串值放在引号中,而不是刻度。通过将它放在刻度中,您告诉 MySQL 它是一个列标识符,而不是您想要的字符串值
String query = "SELECT * FROM `login` WHERE `user_id` LIKE 'userid' ";
关于MySQL SQL 语法问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24957615/