【问题标题】:MySQL Syntax error | You have an error in your SQL syntax;MySQL 语法错误 |您的 SQL 语法有错误;
【发布时间】: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”之后的部分通常可以很好地表明您做错了什么。

标签: java mysql sql select


【解决方案1】:

lockreserved word in MySQL

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

SELECT * FROM `lock` WHERE player=?

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-01
    • 1970-01-01
    • 2012-10-10
    • 1970-01-01
    • 2016-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多