MySQL SELECT with LIKE in java Servlet MySQL 错误

Posted

技术标签:

【中文标题】MySQL SELECT with LIKE in java Servlet MySQL 错误【英文标题】:MySQL SELECT with LIKE in java Servlet MySQL error 【发布时间】:2013-01-25 02:50:26 【问题描述】:

我使用 Java 7 Servlet 和 Tomcat 7 作为服务器,使用 mysql 作为数据库。 我正在尝试对用户进行一些搜索,但我的 SQL 中可能存在一些问题,任何人都可以看到问题吗?关键是 lasNameFragment 是姓氏的片段,我在姓氏中有这个片段的用户中搜索。列出没有 LIKE 的用户可以正常工作,因此问题必须在这两行中的某个地方。

preparedStatement = connection.prepareStatement("SELECT users.id AS id, login, name, lastname, password, sex, birth, info WHERE lastname LIKE ?;");
    preparedStatement.setString(1, "%" + lastNameFragment + "%");

错误:

com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE lastname LIKE '%Mot%'' at line 1

Mot 是 lastnamefragment 的值,我得到表单搜索输入。

【问题讨论】:

...info FROM yourTableName WHERE ... 【参考方案1】:

您有一个 SELECT 和 WHERE 语句,但我没有看到 FROM 语句。

【讨论】:

谢谢,我忽略了我错过了 FROM。

以上是关于MySQL SELECT with LIKE in java Servlet MySQL 错误的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MYSQL 查询中将“LIKE”与“IN”结合起来?

mysql IN()和LIKE在一起

MySQL比like语句更高效的写法locate position instr find_in_set

Mysql select with in 子句不使用索引

where column in from another select results with limit (mysql/mariadb)

MySQL 查询语句SELECT和数据条件过滤