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不用担心——为一路上的失误道歉,但我很高兴我们最终做到了。我已经把你的选票拉平了。。。