MySQL SQL 语法问题

标签 mysql sql syntax-error

我正在使用最简单的 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/

相关文章:

mysql - 哪个 NoSql 用于存储数十亿个整数对数据?

mysql - `SELECT field AS` 在 2 个表之间使用 UNION 导致错误#1064

MySQL where 字母数字列条件

php - 2 来自同一张表的 SQL 查询

C++:cout 语句使我的程序失控?

php - 根据特定的列值选择所有相同的列php pdo mysql

sql - 数据库设计和非数字主键的使用

c# - 为MySQL中的所有列创建索引

c# - CodeDOM是我进行语法检查的唯一选择吗?

javascript - 为什么 Object.toString 会抛出 SyntaxError 而 Array.slice 不会?