MySQL 语法错误 |您的 SQL 语法有错误;

Posted

技术标签:

【中文标题】MySQL 语法错误 |您的 SQL 语法有错误;【英文标题】:MySQL Syntax error | You have an error in your SQL syntax; 【发布时间】:2020-01-28 16:44:52 【问题描述】:

错误:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 你的 SQL 语法有错误;查看与您的 MariaDB 服务器版本相对应的手册,了解在第 1 行的“lock WHERE player='SrLolok”附近使用的正确语法

代码:

PreparedStatement search = instance.getConnection().prepareStatement("SELECT * FROM lock WHERE player=?;");
search.setString(1, player);
ResultSet rs = search.executeQuery();

【问题讨论】:

您收到的错误消息有一个很大的线索,即问题出在“lock”这个词上,因为它是它在查询中向您显示的第一部分:...syntax to use near 'lock WHERE ...。 “near”之后的部分通常可以很好地表明您做错了什么。 【参考方案1】:

lock 是 reserved word in MySQL。

如果要使用,需要用反引号括起来:

SELECT * FROM `lock` WHERE player=?

或者更好的是,使用与保留字不对应的表名,因此您不必担心这一点。

【讨论】:

以上是关于MySQL 语法错误 |您的 SQL 语法有错误;的主要内容,如果未能解决你的问题,请参考以下文章