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 语法有错误;的主要内容,如果未能解决你的问题,请参考以下文章