Дело в том, что обе таблицы имеют первичные ключи, и у меня до сих пор не было никаких проблем с другими стандартными 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