从 SQL 中单独的 table 获取 ID

Fetch ID from separate table in SQL

我有两张表,一张叫做会员:

 NAME  |   PERSONALNUMBER  |               ID  |  
LUDDE  |       9409251171  |                1  |

还有一个叫船:

       TYPE  |           LENGTH  |         MEMBERID  |  
Motorsailer  |            100.0  |             null  | 

我想从成员那里获取 ID 并将其存储在 Boats 的 MEMBERID 中。

现在我尝试通过这样做从特定成员那里获取 ID:

public void createBoat(Boat boat, Member member) {
    try {
        connection.createStatement().execute("Insert into BOAT (Type, Length) values " + boat.toString());
        connection.createStatement().executeQuery("SELECT ID FROM MEMBER WHERE NAME LIKE " + "'" + member.getName() + "'" );
    } catch(SQLException e) {
        System.out.println(e.getMessage());
    }
}

但是,我得到的是空值,而不是任何真实数据。

第一个 select 来自 Member table 的特定 id 使用 select 语句。然后在 Boats table.

的插入语句中使用 member id

您可以使用以下内容。您可能需要做一些小的修改。我不知道船的长度是多少,所以我使用 100 作为长度。另外我假设会员ID是一个整数

public void createBoat(Boat boat, Member member) {
    try {

        ResultSet rs=connection.createStatement().executeQuery("SELECT ID FROM MEMBER WHERE NAME =" + "'" + member.getName() + "'");
        while(rs.next()){
            int memberId=rs.getInt("ID");
            connection.createStatement().execute("Insert into BOAT (Type, Length,MEMBERID) values (" + boat.toString() ",100,"+memberId+" )");
        }
    } catch (SQLException e) {
        System.out.println(e.getMessage());
    }
}