有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

更新查询中的java选择

我试图在运行更新时选择一个内部表,但我一直收到一个语法错误,任何人都能看到我做错了什么,谢谢

Syntax error: Encountered "SELECT" at line 1, column 94.

String sql =  "UPDATE MEMBER SET FIRSTNAME=?, LASTNAME=?, STREETADDRESS=?, CITY=?, STATE=?, ZIP=?, PHONE=?, SELECT MEMBERSHIPID WHERE MEMNAME=? WHERE MEMBERID=?";
                                PreparedStatement stmt = db.getPreparedStatement(sql);
                                stmt.setString(1, fName);
                                stmt.setString(2, lName);
                                stmt.setString(3, streetA);
                                stmt.setString(4, city);
                                stmt.setString(5, state);
                                stmt.setString(6, zc);
                                stmt.setString(7, phon);
                                stmt.setString(8, memSelection); 
                                stmt.setInt(9, Integer.parseInt(memberID)); 

enter image description here


共 (1) 个答案

  1. # 1 楼答案

    您需要将SELECT作为子查询的赋值写入(用括号括起来),并指定要从中选择值的表:

    UPDATE MEMBER 
    SET FIRSTNAME=?, 
        LASTNAME=?, 
        STREETADDRESS=?, 
        CITY=?, 
        STATE=?, 
        ZIP=?,
        PHONE=?,
        MEMBERSHIPID = (SELECT MEMBERSHIPID 
                        FROM MEMBERSHIP 
                        WHERE MEMNAME=?)
    WHERE MEMBERID=?