我正在写jsp代码,我的db连接有问题。我的数据库中有两个表,ANN和SEC,其中SEC_ID是primary key,auto increment在SEC表中,foreign key在ANN表中。我想在我的代码中使用这个查询
(SELECT
DATE,
MESSAGE
FROM ANN
WHERE ANN.SEC_ID = SEC.SEC_ID;) 但是当我运行我的程序时,我得到了这个错误:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException发布于 2014-07-24 16:31:31
问题在于连接表。您可以使用以下内容:
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中的行数*中的行数
这显然不是你想要的。如果每个表中都有几千行,那么即使是您也会从MySQL获得OutOfMemoryError
发布于 2014-07-24 16:34:04
问题只是分号';‘的位置有问题,看看这个:
(SELECT
DATE,
MESSAGE
FROM ANN
WHERE ANN.SEC_ID = SEC.SEC_ID) ;https://stackoverflow.com/questions/24928499
复制相似问题