gpt4 book ai didi

SQL 字符串中的 MySql 更新错误

转载 作者:行者123 更新时间:2023-11-29 11:02:05 25 4
gpt4 key购买 nike

不知道为什么,但 MySQL 总是因语法问题而出错。我在下面的 SQL 语句中没有看到任何问题。但在这个简单的更新语句期间它一直出错。

public static void updateTable1(Car cars){
try ( Connection con = JdbcUtil.getConnection()) {
String sql = "UPDATE CARS_TABLE T SET TUNING_PERFORM = "
+ "SELECT R.BORE * R.STROKE "
+ "FROM ENGING_DERIVE R "
+ "WHERE T.ID = R.ID;"
;

try (Statement st = con.createStatement()) {
System.out.println(sql);
int res = st.executeUpdate(sql, Statement.RETURN_GENERATED_KEYS);

}
} catch (Exception e) {
log.error("ERROR", e);
e.printStackTrace();
}
}

mysql语法错误语句为:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT R.BORE * R.STROKE  FROM ENGING_DERIVE R ' at line 1

最佳答案

它不是那样工作的。最好使用 JOIN 代替

UPDATE CARS_TABLE T 
JOIN ENGING_DERIVE R ON T.ID = R.ID
SET T.TUNING_PERFORM = R.BORE * R.STROKE

关于SQL 字符串中的 MySql 更新错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42055932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com