我正在处理 jsp 代码,但我的数据库连接有问题。我的数据库中有两个表,ANN
和 SEC
其中 SEC_ID
是 primary key
和 auto 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/