Java 我试图根据参数从关系表中提取最后一个值
我试图根据一个参数从一个关系表中提取最后一个值,它给了我这个错误 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册,以了解在第1行的“1*FROM version”附近使用的正确语法,其中codeProject='7'ORDER BY idVersion DESC'Java 我试图根据参数从关系表中提取最后一个值,java,mysql,sql,database,sql-order-by,Java,Mysql,Sql,Database,Sql Order By,我试图根据一个参数从一个关系表中提取最后一个值,它给了我这个错误 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册,以了解在第1行的“1*FROM version”附近使用的正确语法,其中codeProject='7'ORDER BY idVersion DESC' MySQL不支持TOP 1,您需要LIMIT 1——它位于查询的末尾,而不是ORDER BY子句之
MySQL不支持
TOP 1
,您需要LIMIT 1
——它位于查询的末尾,而不是ORDER BY
子句之后,而不是SELECT
关键字之后
SELECT id, name
FROM version
WHERE codeProject = ?
ORDER BY idVersion DESC LIMIT 1
请注意,您应该使用参数化语句,而不是将变量插入查询字符串中:这会提高查询效率,在必要时处理转义(例如,如果您的参数包含嵌入的引号),并保护代码不受SQL注入的影响
SELECT id, name
FROM version
WHERE codeProject = ?
ORDER BY idVersion DESC LIMIT 1