Java 在更新查询中选择

Java 在更新查询中选择,java,sql,Java,Sql,我试图在运行更新时选择一个内部表,但我一直收到一个语法错误,任何人都能看到我做错了什么,谢谢 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=? W

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

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)); 

您需要编写
选择
作为子查询中的赋值(括在括号中),并指定要从中选择值的表:

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

您试图通过
SELECT
实现什么?我试图选择一个
MEMBERID
匹配
MEMNAME
MEMBERID>,它通过组合框进行选择,并使用来自同一表的@NickDoes查询的其余部分进行更新?否
membershipid
MEMNAME
是一个名为
MEMBERSHIP
这是您要更新的
MEMBERSHIPID吗?这给了我另一个异常
在第136列第1行遇到“WHERE”。
是的,对不起,刚刚注意到并修复了它。我仍然不确定子查询的情况。。。如果您可以在问题中添加表结构,则更容易获得正确答案。@Hightower98 ok-根据图表,我想我现在就有了它。出于某种原因,这也不起作用…我在第9行遇到另一个异常,即
遇到了“MEMBERSHIPID”,第5栏。
我仔细检查了答案,并将其进行了比较,结果都是正确的same@Hightower98不用担心——为一路上的失误道歉,但我很高兴我们最终做到了。我已经把你的选票拉平了。。。