我有这两个表:
现在我有两个数据库,一个托管在MySQL上,另一个托管在Derby上,两个数据库具有相同的表结构。
因此,我一直在两个数据库上执行以下查询:
当我使用以下Java代码执行上面的查询时,在两个数据库中我都能获取到成功的
我收到了这个错误信息:
inventory
和 product_categories
,两个表都有一个名为 businessId
的共同列。现在我有两个数据库,一个托管在MySQL上,另一个托管在Derby上,两个数据库具有相同的表结构。
因此,我一直在两个数据库上执行以下查询:
SELECT *
FROM INVENTORY
INNER JOIN PRODUCT_CATEGORIES
ON INVENTORY.BUSINESSID = PRODUCT_CATEGORIES.BUSINESSID
AND INVENTORY.CATEGORY = PRODUCT_CATEGORIES.CATEGORYNAME
WHERE INVENTORY.BUSINESSID = 1
当我使用以下Java代码执行上面的查询时,在两个数据库中我都能获取到成功的
ResultSet
,但是当我尝试从product_categories
表中获取businessId
列时,Derby会抛出异常。try(Connection conn = dbConfig.getDatabaseConnection())
{
PreparedStatement pst = conn.prepareStatement(sql);
pst.setInt(1, businessId);
List<Product> products = new ArrayList<>();
ResultSet rs = pst.executeQuery();
while(rs.next())
{
...
int businessId = rs.getInt("product_categories.businessId"); //<-- This lines throws an exception
...
}
}
我收到了这个错误信息:
请问这里出了什么问题?java.sql.SQLException: Column 'product_categories.businessId' not found
int businessId = rs.getInt("businessId")
- GMB