mysql - 错误 : com. mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException

标签 mysql jsp jdbc

我正在处理 jsp 代码,但我的数据库连接有问题。我的数据库中有两个表,ANNSEC 其中 SEC_IDprimary keyauto increment SEC 表中的 ANN 表中的 foreign key。我想在我的代码中使用这个查询

(SELECT 
   DATE, 
   MESSAGE 
FROM ANN 
WHERE ANN.SEC_ID = SEC.SEC_ID;) 

但是当我运行我的程序时,我得到了 这个错误:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException

最佳答案

问题在于连接表。您可以使用以下内容:

SELECT 
   A.DATE, # Assuming both DATE and MESSAGE are in ANN table 
   A.MESSAGE 
FROM 
   ANN AS A
   JOIN SEC AS S ON (A.SEC_ID = S.SEC_ID);

(为了性能和可读性,我使用了别名)

请记住,您还可以:

SELECT 
   A.DATE, # Assuming both DATE and MESSAGE are in ANN table 
   A.MESSAGE 
FROM 
   ANN AS A, SEC AS S 
WHERE A.SEC_ID = S.SEC_ID;

但它是内存低效的。从数据库中检索到的行数是:

ANN 中的行数 * SEC 中的行数

那显然不是你想要的。如果每个表中有几千行,那么即使你会从 MySQL 得到 OutOfMemoryError

关于mysql - 错误 : com. mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24928499/

相关文章:

PHP与MySQL数据库的通讯方式

mysql - MySQL 5.6 中的选择性产品安装

java - 使用 jquery 使用循环动态更新带有 div 的 DOM

python - 使用 Flask 从 Python 中的 MySQL 查询中删除括号

mysql - 选择返回更新

javascript - 如何使用request.getParameterValues?

java - 如何从JSP文件中迭代ResultSet?

java - 如何在oracle中创建对象数据类型的列

java - 来自jndi数据源/连接池的jdbc连接的“延迟初始化”:可行性

java - 通过 Java 数据库到 XML(反之亦然)