我想通过检查table1的column2和table2的column2的条件来更新table1的column1。
我只是得到缺少右括号的错误。
我只检查两个表的ID(ID是另一个表的外键),并检查激活码是否来自查询字符串,如果它们匹配,我将状态值更新为批准
String s = "Approve";
stmt.executeUpdate("UPDATE
( SELECT Approval.STATUS AS st
FROM Approval
JOIN Activity
ON Activity.userid = Approval.id
WHERE Activity.activationcode =
'"+activationcode+"') as up SET up.st = '"+s+"'");
答案 0 :(得分:0)
在下面替换您的更新表字符串,它应该可以工作
UPDATE
(SELECT
Approval.STATUS AS st
FROM
Approval JOIN Activity ON Activity.userid = Approval.id
WHERE
Activity.activationcode = '"+activationcode+"'
) up
SET up.st = '"+s+"'
在查询中,您尝试同时更新 APPROVAL和UP 表,这就是为什么会出现错误