gpt4 book ai didi

java - 将 select inside insert 查询与 preparedStatement 一起使用

转载 作者:行者123 更新时间:2023-11-29 21:41:43 24 4
gpt4 key购买 nike

我想使用 preparedStatement 编写插入查询。我想在其中放置一个选择查询。我执行了以下操作,但得到:您的 SQL 语法有错误

protected final String createStudentQuery = " INSERT INTO student (student_id, ed_level) VALUES (SELECT MAX(user_id) FROM user WHERE usertype ='Student' , ?)";

然后

stmt5 = conn.prepareStatement(createStudentQuery);
stmt5.setString(1, ed_level);
stmt5.executeUpdate();

所有声明(连接、声明)均已做出。

最佳答案

有 2 个值需要插入,student_id 和 ed_level。但在您的 select 语句中只有一个值,MAX(user_id)。您还必须在选择查询中添加 ed_level 的值。
另外,您的查询应该是:

INSERT INTO <TABLE_1> (COLUMN_1, COLUMN_2,...) SELECT COLUMN_1, COLUMN_2,... FROM <TABLE_2> WHERE <CONDITION>

我已将查询修改为如下所示:

INSERT INTO student (student_id, ed_level) VALUES ((SELECT MAX(user_id) FROM user WHERE usertype ='Student') , ?)

希望这有帮助。

关于java - 将 select inside insert 查询与 preparedStatement 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34440417/

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