gpt4 book ai didi

postgresql - PostgreSQL 中的 INNER JOIN 查询出现“无主键”错误

转载 作者:行者123 更新时间:2023-11-29 12:06:34 25 4
gpt4 key购买 nike

事实是,这两个表都有主键,到目前为止,我在使用任何其他标准 SELECTS/INSERTS 时都没有遇到任何问题。我是 JOINS 的新手,但我不明白为什么这不起作用。

我收到此错误消息:

org.postgresql.util.PSQLException: No primary key found for table devicetable.

但是,这两个表的主键都是我选择的列:deviceid/username。也许与此有关?

我正在通过 JDBC 访问它

PreparedStatement query = curSQL.getConn().prepareStatement("SELECT devicetable.pushid FROM devicetable, usertable WHERE usertable.username=? AND usertable.deviceid = devicetable.deviceid", ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
query.setString(1, username);
ResultSet rs = query.executeQuery();

if (rs.next()){
rs.updateString("pushid", pushID);
rs.updateRow();
}

rs.close();
query.close();

使用 SQL:

SELECT devicetable.pushid FROM devicetable, usertable
WHERE usertable.username=?
AND usertable.deviceID = devicetable.deviceID

最佳答案

尝试显式连接:

SELECT devicetable.pushid
FROM devicetable
JOIN usertable ON usertable.deviceID = devicetable.deviceID
WHERE usertable.username = ?

关于postgresql - PostgreSQL 中的 INNER JOIN 查询出现“无主键”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8117550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com