gpt4 book ai didi

java - 将某些列复制到另一个表中并在同一 SQL 语句中插入新值?

转载 作者:行者123 更新时间:2023-11-29 07:26:18 28 4
gpt4 key购买 nike

我有一个 Car 表,其中包含列 carID, brand, color, price。我只想将 color 复制到另一个表 Detail,其中包含 finish, color 列。并且 Finish 列不是 NULL

是否可以在插入时同时(在同一 SQL 语句中)将 Car 表中的 Color 复制到我的 Details 表中Finish 的值(值将由用户提供)?

我准备好的声明是:

String finish = request.getParameter("finish") //get user input from form
int carID = ... //retrieved from another SQL statement

public void insertToDetail(int carID, String finish){

String sql = "INSERT INTO detail (finish, color) VALUES ?, "
+ "SELECT color FROM car WHERE carID = ? ;";

PreparedStatement psmt = connect.prepareStatement(sql);

psmt.setString(1, finish);
psmt.setInt(2, carID);
psmt.executeUpdate();
psmt.close();

}

案例场景例如:

我的 Car 表有值 (001, Nissan, red, 14500) 并且用户从我的表单中输入 gloss for finish

一旦用户按下提交按钮,最终结果应该是Detail 表,其值(gloss, red)gloss 来自用户输入,redCar 表中复制。

最佳答案

您并没有真正告诉我们您遇到的问题是什么...

但无论如何,这:

String sql = "INSERT INTO detail (color, finish) VALUES ?, "
+ "SELECT FROM car (color) WHERE carID = ? ;";

应该是:

String sql = "INSERT INTO detail SELECT ?, color FROM car WHERE carID = ?;";

您的代码的其余部分不需要更改。

关于java - 将某些列复制到另一个表中并在同一 SQL 语句中插入新值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53549931/

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