首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException

问错误: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException
EN

Stack Overflow用户
提问于 2014-07-24 16:19:42
回答 2查看 178关注 0票数 1

我正在写jsp代码,我的db连接有问题。我的数据库中有两个表,ANN和SEC,其中SEC_ID是primary key,auto increment在SEC表中,foreign key在ANN表中。我想在我的代码中使用这个查询

代码语言:javascript
复制
(SELECT 
   DATE, 
   MESSAGE 
FROM ANN 
WHERE ANN.SEC_ID = SEC.SEC_ID;) 

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

代码语言:javascript
复制
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException
EN

回答 2

Stack Overflow用户

发布于 2014-07-24 16:31:31

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

代码语言:javascript
复制
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);

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

请记住,您还可以执行以下操作:

代码语言:javascript
复制
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中的行数*中的行数

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

票数 1
EN

Stack Overflow用户

发布于 2014-07-24 16:34:04

问题只是分号';‘的位置有问题,看看这个:

代码语言:javascript
复制
(SELECT 
   DATE, 
   MESSAGE 
FROM ANN 
WHERE ANN.SEC_ID = SEC.SEC_ID) ;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24928499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档